Files
chat/client/nginx.conf
zeekay e38503b03b refactor(chat): eliminate /api/ prefix -> /v1/chat/* (namespaced, no-collision)
App REST surface moves from /api/* to /v1/chat/* in lockstep across server
mounts, client URL builders, SSE stream paths, OAuth redirect_uris, telemetry
route-grouping, RUM proxy, and the nginx bridge.

Namespace /v1/chat/* (not flat /v1/) to avoid colliding with the OpenAI-compat
inference surface (/v1/chat/completions, /v1/models -> router_backend) and to
match the canonical chat/openapi.yaml. Social OIDC login (/oauth/*) and /health
are unchanged (login-safe).

Levers:
- server: api/server/index.js 26 app.use('/v1/chat/*') mounts (+ experimental.js)
- client: packages/data-provider/src/api-endpoints.ts (75 builders) + config.ts
Lockstep: checkBan matcher, Files/Code download path, actions/mcp CSRF cookie
paths, ActionService + mcp/oauth handler redirect_uris, admin OpenID callback,
telemetry middleware/sdk/stream, rum proxy path, vite dev proxy + PWA denylist,
robots.txt, .env.example, pr-preview health-path (/api/health -> /health).

Third-party APIs chat CALLS are untouched (Ollama, Wolfram, Discord, GitHub
Enterprise, Mistral, OpenRouter, DataDog). Live-surface /api/: 683 -> 0.
Also untracks runtime log artifacts (api/logs, client/junit.xml; already gitignored).
2026-07-03 13:55:43 -07:00

95 lines
3.2 KiB
Nginx Configuration File

# Secure default configuration generated by Mozilla SSL Configuration Generator
# generated 2024-01-21, Mozilla Guideline v5.7, nginx 1.24.0, OpenSSL 3.1.4, intermediate configuration
# https://ssl-config.mozilla.org/#server=nginx&version=1.24.0&config=intermediate&openssl=3.1.4&guideline=5.7
server {
listen 80 default_server;
listen [::]:80 default_server;
# To Configure SSL, comment all lines within the Non-SSL section and uncomment all lines under the SSL section.
######################################## Non-SSL ########################################
server_name localhost;
# https://docs.nginx.com/nginx/admin-guide/web-server/compression/
# gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/css application/javascript application/json application/octet-stream;
# Increase the client_max_body_size to allow larger file uploads
# The default limits for image uploads as of 11/22/23 is 20MB/file, and 25MB/request
client_max_body_size 25M;
location /v1/chat/ {
proxy_pass http://api:3080$request_uri;
}
location / {
proxy_pass http://api:3080/;
}
######################################## SSL ########################################
# # Redirect all http traffic to https
# location / {
# return 301 https://$host$request_uri;
# }
}
#server {
# listen 443 ssl http2;
# listen [::]:443 ssl http2;
# https://docs.nginx.com/nginx/admin-guide/web-server/compression/
# gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/css application/javascript application/json application/octet-stream;
# ssl_certificate /etc/nginx/ssl/nginx.crt;
# ssl_certificate_key /etc/nginx/ssl/nginx.key;
# ssl_session_timeout 1d;
# ssl_session_cache shared:MozSSL:10m; # about 40000 sessions
# ssl_session_tickets off;
# # curl https://ssl-config.mozilla.org/ffdhe2048.txt > /etc/nginx/ssl/dhparam
# ssl_dhparam /etc/nginx/ssl/dhparam;
# # intermediate configuration
# ssl_protocols TLSv1.2 TLSv1.3;
# ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
# ssl_prefer_server_ciphers off;
# # HSTS (ngx_http_headers_module is required) (63072000 seconds)
# add_header Strict-Transport-Security "max-age=63072000" always;
# # OCSP stapling
# ssl_stapling on;
# ssl_stapling_verify on;
# # verify chain of trust of OCSP response using Root CA and Intermediate certs
# ssl_trusted_certificate /etc/nginx/ssl/ca.crt;
# # replace with the IP address of your resolver
# resolver 127.0.0.1;
# server_name localhost;
# # Increase the client_max_body_size to allow larger file uploads
# # The default limits for image uploads as of 11/22/23 is 20MB/file, and 25MB/request
# client_max_body_size 25M;
# location /api {
# proxy_pass http://api:3080/api;
# }
# location / {
# proxy_pass http://api:3080;
# }
#}