## SSL ``` ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; ssl_prefer_server_ciphers on; ``` ## proxy ``` proxy_pass http://localhost:8478; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Proxy ""; proxy_redirect off; proxy_connect_timeout 30; proxy_buffering off; proxy_request_buffering off; # for websockets proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 10m; proxy_send_timeout 10m; ``` ## example ``` server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name mirror.wormhole.eu; root /srv/ftp; ssl on; ssl_certificate /etc/letsencrypt/live/mirror.wormhole.eu/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mirror.wormhole.eu/privkey.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /etc/nginx/letsencrypt-fullchain.crt; ssl_session_cache shared:SSL:20m; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; ssl_dhparam /etc/nginx/dhparams.pem; location / { try_files $uri $uri/ =404; autoindex on; expires -1; } } ```