diff --git "a/58\345\220\264\350\211\257\347\241\274/20240622ssl\350\257\201\344\271\246.md" "b/58\345\220\264\350\211\257\347\241\274/20240622ssl\350\257\201\344\271\246.md" new file mode 100644 index 0000000000000000000000000000000000000000..485b87f7d65b213a8b84f3b6911d39fa621f6af0 --- /dev/null +++ "b/58\345\220\264\350\211\257\347\241\274/20240622ssl\350\257\201\344\271\246.md" @@ -0,0 +1,57 @@ +学习安装ssl证书 + +1. ```shell + server { + #HTTPS的默认访问端口443。 + #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 + listen 443 ssl; + + #填写证书绑定的域名 + server_name ; + + #填写证书文件绝对路径 + ssl_certificate cert/.pem; + #填写证书私钥文件绝对路径 + ssl_certificate_key cert/.key; + + ssl_session_cache shared:SSL:1m; + ssl_session_timeout 5m; + + #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置) + #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。 + ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; + ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; + + #表示优先使用服务端加密套件。默认开启 + ssl_prefer_server_ciphers on; + + + location / { + root html; + index index.html index.htm; + } + } + ``` + +2. **可选:**设置HTTP请求自动跳转HTTPS。 + + 如果您希望所有的HTTP访问自动跳转到HTTPS页面,可通过rewrite指令重定向到HTTPS。 + + **重要** + + 以下代码片段需要放置在nginx.conf文件中`server {}`代码段后面,即设置HTTP请求自动跳转HTTPS后,nginx.conf文件中会存在两个`server {}`代码段。 + + + + ```shell + server { + listen 80; + #填写证书绑定的域名 + server_name ; + #将所有HTTP请求通过rewrite指令重定向到HTTPS。 + rewrite ^(.*)$ https://$host$1; + location / { + index index.html index.htm; + } + } + ``` \ No newline at end of file