-
AI Skill
- Access Fingerprinter
- Accessibility Design
- Ad Campaign Optimization
- Advisor Action Framework
- Agentic Task Execution
- AI Candor Probe
- AI Citation Tracking
- AI Content Authenticity Detection
- AI Coworker Trust Protocol
- AI Inference Boundary Review
- AI Journalism
- AI Project Showcase Skill
- AI Self-Report Calibration
- AI Vision Diagnosis
- Antigravity Browser QA
- Antigravity Parallel Debug
- Antigravity Test Orchestration
- Apache HTTPD Configuration
- API Design
- Apple Human Interface Design System
- AppSec Engineer — API Security Specialist
- AppSec Engineer — Cloud & Container Security Specialist
- AppSec Engineer — DevSecOps Specialist
- AppSec Engineer — IAM Security Specialist
- AppSec Engineer — Security Testing & Incident Response Specialist
- Arborist / Tree Care Specialist
- Atlanta Gardening
- Atlanta Guide
- B2B Media Consulting
- Botanist / Plant Scientist
- Brand Voice Development
- Business Proposal Evaluation
- Career Assessment
- Celery Task Management
- Children's Garden Educator
- Civic Tech Privacy Architecture
- Claims Integrity Audit
- CloudKit + Tauri Debugging
- Code Review
- Community Engagement Features
- Community Engagement Manager
- Competitive Analysis
- Conservation Biologist
- Content Gap Analysis
- Content Strategy
- Contract Analysis
- Conversational UI Design
- Cooking Technique Tutorial
- Copywriting
- Culinary Knowledge Lookup
- Curator of Living Collections
- Customer Journey Methodology
- Customer Support
- Data Interpretation
- Democratic Health Monitoring
- Dependency Hygiene
- Design Systems
- Dify Knowledge Base Management
- Director of Education
- Director of Horticulture
- Director of Science & Research
- Dive Conditions Forecasting
- Dive Planning
- Dive Site Data Ingestion
- Diversity, Equity & Inclusion (DEI) Coordinator
- Docker Compose Management
- Education Curator
- Education Program Coordinator
- Email Campaign Automation
- Email Parsing — Travel Bookings
- Estate Accounting
- Estate and Trust Management
- Estate Document Extraction
- Estate Jurisdiction Engine
- Estate Manager — Build Plan
- Estate Manager — Updated Product Roadmap
- Estate Professional — CPA / Accountant
- Estate Professional — Elder Law Attorney
- Estate Professional — Enrolled Agent
- Estate Professional — Estate Planning Attorney
- Estate Professional — Financial Advisor
- Estate Professional — Insurance Agent
- Estate Professional — Probate Attorney
- Estate Professional — Probate Litigation Attorney
- Estate Professional — Real Estate Agent
- Estate Professional — Real Estate Appraiser
- Estate Professional — Real Estate Attorney
- Estate Professional — Tax Attorney
- Estate Professional — Title Company
- Estate Task Automation
- EventKit Calendar Sync
- Executive Advisor Board — Build Plan
- Executive Advisor Board — Updated Product Roadmap
- Executive Board Advisor
- Executive CCO (Chief Customer Success Officer)
- Executive CEO
- Executive CFO
- Executive CHRO
- Executive CMO
- Executive COO
- Executive CPO (Chief Product Officer)
- Executive CRO (Chief Revenue Officer)
- Executive CTO
- Executive General Counsel
- Expat Planning
- Expat Tax Compliance
- Fact-Checking
- Family Gamification Design
- FastAPI Development
- Federal Register API Integration
- FIFA 2026 World Cup Travel Advisory
- Financial Analysis
- Flask Application Development
- FLUX Image Generation
- FLUX Operations
- Garden Technician
- Gardener / Groundskeeper
- Generative Engine Optimization
- GIS / Mapping Specialist
- Grateful Dead Historian
- Greenhouse Manager
- Greenhouse Technician
- Guided Content Journeys
- Head Gardener / Garden Manager
- Herbarium Curator
- Horticulturist
- Image Generation Service Operations
- Influencer Marketing
- Infrastructure Operations
- Infrastructure Upgrades
- Integrated Pest Management (IPM) Specialist
- Interaction Design
- Internship Program Coordinator
- Interview Coaching Design
- Irrigation Specialist
- ITI Audience Development
- ITI Consulting Intake
- ITI Content Strategy
- ITI Marketing Tone & Brand Voice
- ITI Quality Assurance
- ITI Report Synthesis
- ITI Strategic Planning
- ITI Technology Strategy
- Java Development
- Journey Mapping
- Landing Page Optimization
- Lead Qualification
- Local SEO Optimization
- Marine Life Identification
- Market Research
- MCP Client for Tauri
- MCP Server Development
- Meal Planning
- Meeting Management
- Mental Load Equity Design
- Multi-Agent Deliberation Design
- Multilingual Content Management
- Music Discovery
- n8n + Dify Testing
- n8n Debugging
- n8n Workflow Development
- News Credibility Scoring
- Nginx Reverse Proxy
- Objection Handling
- Onboarding Design
- Pinecone Embedding Management
- Podcast Production
- Portfolio HTML Files - Creation Summary
- PostgreSQL Administration
- Presentation Design
- Press Release Writing
- PRISM ZIP Code → Zone Lookup
- Privacy Compliance
- Product Design
- Product Roadmap Update Prompt
- Professional Selection
- Project Management
- Prompt Auditor
- Proposal Evaluation
- Public Relations Manager
- RabbitMQ Messaging
- Recipe Formatting
- Redis Operations
- Relationship App Design
- Release Management
- Requirements Writing
- Research Associate / Lab Technician
- Retirement Calculator Engine
- Roadmap Build Planning
- Safety Guardrails
- Salary Negotiation Frameworks
- Schema Markup Generation
- School Programs Specialist
- Scope Control
- Scouting Trip Planning
- Screenshot Capture Guide
- Seed Bank Curator
- SEO & AEO Optimization
- SEO Assistant with LLM
- Session Context Protocol
- Skills Index
- Social Media Content Calendar
- Speech Analyzer
- Stable Diffusion Image Generation
- Tauri Desktop Development
- Taxonomist
- Tech Debt Analysis
- Technical Writing
- Test Plan Writing
- Therapeutic Horticulture Program Manager
- Travel Planning
- TSP Route Optimization
- UI Design
- UX Research
- Vibe Coding Guardrails
- Video Scripting
- Visual Brand Design
- Volunteer Coordinator
- Weather Underground PWS Integration
- Weather-Disease Modeling
- Wildlife Habitat Certification Guide
- WordPress Development
- WordPress Role-Based Access
- WordPress SEO Plugin Integration
- Workflow Adapter Integration
- Show Remaining Articles (210) Collapse Articles
-
Product Showcase
- AEO Optimizer Product Showcase
- AI News Cafe Product Showcase
- AI Project Showcase: Journey Mapper (Customer Journey Mapper)
- AI Project Showcase: SEO Assistant with LLM
- Estate Manager Product Showcase
- Executive Advisor Board Product Showcase
- Expat Advisor Showcase
- Factchecker Product Showcase
- Farmers Bounty Product Showcase
- Gardener's Bounty AI Assistant Product Showcase
- GD Claude Chatbot Product Showcase
- IT Influentials Agent POC Product Showcase
- IT Influentials Agent Product Showcase
- IT Influentials Express Agents Product Showcase
- My TravelPlanner Product Showcase
- Patriot Agent Product Showcase
- Patriot University Showcase
- ScubaGPT — Product Showcase
- ScubaGPT Showcase
- WordPress Plugin Clone Safety Checker Showcase
- Show Remaining Articles (5) Collapse Articles
-
ITI Knowledge System
- Chapter 1: Introduction
- Chapter 10: n8n — Debugging & Operations
- Chapter 11: Dify — Knowledge Bases & RAG
- Chapter 12: The ITI Workflow Adapter
- Chapter 13: The ITI Shared Library
- Chapter 14: WordPress Plugin Development
- Chapter 15: Desktop Apps with Tauri 2
- Chapter 16: Python Services
- Chapter 17: iOS & macOS with Swift
- Chapter 18: Claude & the Anthropic API
- Chapter 19: Prompt Engineering
- Chapter 2: Workspace Overview
- Chapter 20: Agents, Skills & Pipelines
- Chapter 21: Knowledge Bases
- Chapter 22: Safety & Guardrails
- Chapter 23: Build Session Protocol
- Chapter 24: Required Product Artifacts
- Chapter 25: Testing
- Chapter 26: Security Standards
- Chapter 27: Deployment
- Chapter 28: Cursor Skills
- Chapter 29: Cursor Rules
- Chapter 3: The Docker Stack
- Chapter 30: MCP Integrations
- Chapter 31: Builder and Agent Roles
- Chapter 32: Builder's Portfolio
- Chapter 33: Claims Integrity & Content Governance
- Chapter 4: Daily Operations
- Chapter 5: Infrastructure Upgrades
- Chapter 6: PostgreSQL & pgvector
- Chapter 7: Redis
- Chapter 8: Nginx Reverse Proxy
- Chapter 9: n8n — Workflow Development
- Show Remaining Articles (18) Collapse Articles
-
AI Agent
-
User Guide
- ADMIN-SHORTCODES.html Update Summary
- Factchecker Plugin - Installation Guide
- Factchecker Plugin - Troubleshooting Guide
- Farmers Bounty - Quick Start Guide
- Farmers Bounty - Troubleshooting Guide
- Farmers Bounty - User Guide
- Farmers Bounty Desktop User Guide
- Farmers Bounty Plugin - Gardener's Review Guide
- Farmers Bounty Plugin v6.6.0 - Release Notes
- Farmers Bounty v2.0 - Complete User Guide
- Farmers Bounty v5.3.0 - Complete User Guide
- 🌱 Farmers Bounty Homepage Shortcode - Quick Start
- 🌱 Farmers Bounty Shortcodes
- 🌹 Grateful Dead Chatbot - Quickstart Guide ⚡
-
Requirements
-
ScubaGPT
-
Grateful Dead Chatbot
-
Farmers Bounty
- 01 current state analysis
- 02 architecture overview
- 03 data sources
- 05 cost analysis
- 06 database schema
- 08 ui ux changes
- 09 ai context optimization
- 10 testing validation
- 11 risk mitigation
- 12 implementation checklist
- ADMIN-SHORTCODES.html Update Summary
- Beneficial Insects Guide for Georgia Gardens
- Farmers Bounty - Quick Start Guide
- Farmers Bounty - Troubleshooting Guide
- Farmers Bounty - User Guide
- Farmers Bounty Chatbot - Complete Documentation
- Farmers Bounty Desktop User Guide
- Farmers Bounty Plugin - Gardener's Review Guide
- Farmers Bounty Plugin v6.6.0 - Release Notes
- Farmers Bounty v2.0 - Complete User Guide
- Farmers Bounty v5.3.0 - Complete User Guide
- Glossary
- 🌱 Farmers Bounty Homepage Shortcode - Quick Start
- 🌱 Farmers Bounty Shortcodes
- Show Remaining Articles (9) Collapse Articles
-
Technical Document
-
Answer Engine Optimizer
-
SEO Optimizer
- Articles coming soon
-
Travel Planner
-
Fact Checker
-
Estate Manager
- Articles coming soon
-
ITI Operations
- AI Project Showcase Skill
- End-User Documentation Requirements Document
- Farmers Bounty Plugin - Gardener's Review Guide
- IT Influentials Agent POC Product Showcase
- IT Influentials Agent Product Showcase
- IT Influentials Express Agents Product Showcase
- ITI Financial Modeling
- Tavily & Pinecone Integrations
- Wordpress Plugin Install Safety Features
-
ITI Marketing
- Articles coming soon
-
Patriot University
-
Personal Assistant
Chapter 8: Nginx Reverse Proxy
Chapter 8: Nginx Reverse Proxy
Last Updated: 2026-03
## 8.1 Overview
Nginx acts as a reverse proxy that sits in front of the Dify API. External clients — n8n workflows, WordPress plugins, and other integrations — call Dify through the Nginx proxy rather than connecting directly to the dify-api container.
Container: iti-dify-nginx
Image: nginx:alpine
Host port: 3001
Config file: ITI/infrastructure/n8n-dify/dify-nginx.conf
8.2 Why a Proxy?
The Dify API runs on port 5001 inside the Docker network. The Nginx proxy:
- Provides a stable external address — products always call
localhost:3001, which remains constant even if the Dify API container moves or its internal port changes. - Handles CORS headers — preflight requests from browser-based clients are handled at the proxy layer, not in application code.
- Provides SSL termination point — if HTTPS is added in the future, it is configured in Nginx without touching Dify.
- Adds request routing — the proxy can route different URL paths to different upstream services.
8.3 Nginx Configuration
The configuration at ITI/infrastructure/n8n-dify/dify-nginx.conf defines:
upstream dify_api {
server iti-dify-api:5001;
}
server {
listen 80;
# Handle CORS preflight requests
location / {
if ($request_method = OPTIONS) {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS";
add_header Access-Control-Allow-Headers "Authorization, Content-Type";
return 204;
}
proxy_pass http://dify_api;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Note: The actual configuration in the file may differ slightly from this summary. Always read the live config before making changes.
8.4 Testing the Proxy
Verify the proxy is responding
curl -s -o /dev/null -w "%{http_code}" http://localhost:3001/console/api/setup
Any HTTP status below 500 indicates the proxy is working (Dify will return 401 or 200 for this endpoint).
Test a CORS preflight request
curl -s -X OPTIONS http://localhost:3001/v1/datasets \
-H "Origin: http://localhost" \
-H "Access-Control-Request-Method: GET" \
-v
Expected: a 204 No Content response with Access-Control-Allow-Origin header.
8.5 Reloading Nginx Configuration
After editing dify-nginx.conf, reload Nginx without restarting the container:
docker exec iti-dify-nginx nginx -t # Test config syntax
docker exec iti-dify-nginx nginx -s reload # Apply without downtime
If the syntax test fails, fix the error before proceeding. A broken Nginx config will cause the container to crash on restart.
8.6 Troubleshooting Nginx
502 Bad Gateway
The Nginx proxy is running but cannot reach the upstream Dify API.
# Check if dify-api is running
docker compose ps iti-dify-api
# Check dify-api logs
docker compose logs iti-dify-api --tail 50
# Restart both
docker compose restart iti-dify-api iti-dify-nginx
504 Gateway Timeout
The Dify API is taking too long to respond. This is usually caused by a slow LLM call or a large document indexing operation.
Add a larger proxy_read_timeout to the Nginx config if timeouts are frequent:
proxy_read_timeout 300s;
proxy_send_timeout 300s;
Nginx container not starting
docker compose logs iti-dify-nginx --tail 50
Look for configuration syntax errors. The most common cause is a missing upstream reference or a typo in the config file.
8.7 Adding a New Upstream
If a new service needs to be proxied through Nginx:
- Add an
upstreamblock todify-nginx.confpointing to the new container and port. - Add a
locationblock routing the desired URL path to the upstream. - Test the config:
docker exec iti-dify-nginx nginx -t - Reload:
docker exec iti-dify-nginx nginx -s reload
Note: For services that are not Dify (e.g., a new FastAPI service), consider whether they need to share the Nginx proxy or whether they should expose their own port directly. The Dify Nginx proxy is purpose-built for Dify; new services may warrant their own proxy container.
Previous: Chapter 7 — Redis | Next: Chapter 9 — n8n Workflow Development
