# ========================================================================== # FlatRender — flatrender.ir (add inside the http{} block of mirror-nginx) # # Routes the three public domains to the FlatRender host ports on 171.22.25.73 # (FRONTEND_PORT / GATEWAY_PORT / MINIO_PORT from the deploy ENV_FILE). # # TLS cert must exist first: /etc/ssl/flatrender/{fullchain.pem,privateKey.pem} # covering flatrender.ir + api.flatrender.ir + storage.flatrender.ir # (wildcard *.flatrender.ir + apex, or a SAN cert). # # Apply: docker exec mirror-nginx nginx -t && docker exec mirror-nginx nginx -s reload # ========================================================================== server { listen 80; server_name flatrender.ir www.flatrender.ir api.flatrender.ir storage.flatrender.ir; return 301 https://$host$request_uri; } # ── Site (Next.js frontend → FRONTEND_PORT) ─────────────────────────────── server { listen 443 ssl; http2 on; server_name flatrender.ir www.flatrender.ir; client_max_body_size 25m; ssl_certificate /etc/ssl/flatrender/fullchain.pem; ssl_certificate_key /etc/ssl/flatrender/privateKey.pem; location / { proxy_pass http://171.22.25.73:1600; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } } # ── API gateway (→ GATEWAY_PORT) ────────────────────────────────────────── server { listen 443 ssl; http2 on; server_name api.flatrender.ir; client_max_body_size 512m; # large uploads routed through the gateway ssl_certificate /etc/ssl/flatrender/fullchain.pem; ssl_certificate_key /etc/ssl/flatrender/privateKey.pem; location / { proxy_pass http://171.22.25.73:1605; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; # render-progress WebSocket proxy_set_header Connection $connection_upgrade; proxy_read_timeout 3600s; } } # ── MinIO storage (→ MINIO_PORT) ────────────────────────────────────────── server { listen 443 ssl; http2 on; server_name storage.flatrender.ir; client_max_body_size 512m; ssl_certificate /etc/ssl/flatrender/fullchain.pem; ssl_certificate_key /etc/ssl/flatrender/privateKey.pem; location / { proxy_pass http://171.22.25.73:1610; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }