Ctrl K
ComunidadGuías…

client/nginx.conf

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# 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

# Map the Upgrade header so the admin-panel proxy can pass WebSocket/SSE connections.
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

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 /api/ {
        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;
#    }
}

# Admin panel (ClickHouse) served on the admin.localhost subdomain.
# Uses Docker's embedded DNS (127.0.0.11) with a variable upstream so nginx
# still starts when the admin-panel service is not running.
server {
    listen 80;
    listen [::]:80;
    server_name admin.localhost;

    client_max_body_size 25M;

    resolver 127.0.0.11 valid=30s;
    set $admin_panel_upstream http://admin-panel:3000;

    location / {
        proxy_pass $admin_panel_upstream;
        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_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }
}

#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;
#        proxy_set_header X-Forwarded-Proto $scheme;
#        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#        proxy_set_header Host $host;
#    }

#    location / {
#        proxy_pass http://api:3080;
#        proxy_set_header X-Forwarded-Proto $scheme;
#        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#        proxy_set_header Host $host;
#    }
#}

# SSL variant for the admin panel subdomain (mirror of the admin.localhost block above).
# Over HTTPS you can also set ADMIN_PANEL_SESSION_COOKIE_SECURE=true on the admin-panel service.
#server {
#    listen 443 ssl http2;
#    listen [::]:443 ssl http2;

#    ssl_certificate /etc/nginx/ssl/nginx.crt;
#    ssl_certificate_key /etc/nginx/ssl/nginx.key;

#    server_name admin.localhost;

#    client_max_body_size 25M;

#    resolver 127.0.0.11 valid=30s;
#    set $admin_panel_upstream http://admin-panel:3000;

#    location / {
#        proxy_pass $admin_panel_upstream;
#        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_http_version 1.1;
#        proxy_set_header Upgrade $http_upgrade;
#        proxy_set_header Connection $connection_upgrade;
#    }
#}