限制对文件的访问,仅使用SSL / TLS的强版本和密码(保护证书)
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 从1.9.1版开始,NGINX使用以下默认值 ssl_ciphers HIGH:!aNULL:!MD5;
https 服务器优化
SSL操作会消耗额外的CPU资源。最耗CPU的操作是SSL握手。有两种方法可以最大程度地减少每个客户端执行这些操作的次数:
启用保持连接以通过一个连接发送多个请求
重用SSL会话参数以避免并行和后续连接的SSL握手
会话存储在工作进程之间共享的SSL会话缓存中,并由ssl_session_cache伪指令配置。一兆字节的缓存包含大约4000个会话。默认的缓存超时为5分钟。可以使用ssl_session_timeout指令增加此超时。以下是针对具有10 MB共享会话缓存的多核系统进行优化的示例配置:
ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m;
配置同时支持两种协议(http/https)
listen 80; listen 443 ssl;
拿来主义
upstream test_name{ ip_hash; server 192.168.3.66:8888; server 192.168.3.66:8080; } server { # listen 80; listen 443 ssl; # 避免中文乱码 charset utf-8; server_name ludangxin.club; ssl_certificate ../cert/test3.pem; ssl_certificate_key ../cert/test.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; location / { proxy_pass ; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
虽然可以配置成两种协议都支持,但是大多数情况下希望用户访问http 80端口的时候被转发到https 443
server { listen 80; server_name ludangxin.club; rewrite ^/(.*)$ https://ludangxin.club:443/$1 permanent; }