1+ # HTTP server - redirect to HTTPS
12server {
23 listen 80 ;
34 server_name localhost;
45
6+ # Optional: redirect all HTTP to HTTPS
7+ # Uncomment the following to force HTTPS:
8+ # return 301 https://$host$request_uri;
9+
10+ # For now, serve HTTP normally
511 location / {
612 root /usr/share/nginx/html;
713 index index .html;
@@ -15,6 +21,42 @@ server {
1521 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
1622 proxy_set_header X-Forwarded-Proto $scheme ;
1723
24+ # Increase timeouts for database operations
25+ proxy_read_timeout 300s ;
26+ proxy_connect_timeout 300s ;
27+ proxy_send_timeout 300s ;
28+ }
29+ }
30+
31+ # HTTPS server
32+ server {
33+ listen 443 ssl ;
34+ server_name localhost;
35+
36+ # SSL certificate paths
37+ # For self-signed certs, mount these in docker-compose
38+ # For production, use Let's Encrypt or your SSL provider
39+ ssl_certificate /etc/nginx/ssl /cert.pem;
40+ ssl_certificate_key /etc/nginx/ssl /key.pem;
41+
42+ # SSL configuration
43+ ssl_protocols TLSv1.2 TLSv1.3;
44+ ssl_ciphers HIGH:!aNULL:!MD5;
45+ ssl_prefer_server_ciphers on;
46+
47+ location / {
48+ root /usr/share/nginx/html;
49+ index index .html;
50+ try_files $uri $uri / /index .html;
51+ }
52+
53+ location /api/ {
54+ proxy_pass http ://server :5000 ;
55+ proxy_set_header Host $host ;
56+ proxy_set_header X-Real-IP $remote_addr ;
57+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
58+ proxy_set_header X-Forwarded-Proto https;
59+
1860 # Increase timeouts for database operations
1961 proxy_read_timeout 300s ;
2062 proxy_connect_timeout 300s ;
0 commit comments