nginx 添加ssl支持
listen 80; listen 443 ssl; server_name www.inbeijing.org inbeijing.org; # 强制https 301永久跳转 if ($scheme = http) { return 301 https://$server_name$request_uri; } ssl on; ssl_certificate 1_www.inbeijing.org_bundle.crt; ssl_certificate_key 2_www.inbeijing.org.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置 ssl_prefer_server_ciphers on;
代码里面的$scheme是什么? $scheme是nginx里面的内置变量,就像php里面的内置常量一样,nginx自带的。表示获取url的“协议” 是 http 还是 https可以通俗的理解为代表了这个请求的url前缀。
测试配置文件是否正确:nginx -t
重启nginx service nginx restart
其实这里面最关键的两行是下面这两行,其余都是针对这两行的配置。
ssl_certificate 1_www.inbeijing.org_bundle.crt; ssl_certificate_key 2_www.inbeijing.org.key;