首先配置支持 HTTPS 必须让 Nginx 开启 http_ssl_module 模块,点击查看 nginx 编译安装参数 ,可以使用nginx -V查看是否开启TLS SNI support enabled
购买/生成 SSL 证书,可以使用免费的证书,在这里申请就很可以 腾讯云 SSL 证书

  1. # 配置 HTTPS
  2. # 配置个http的站点,用来做重定向,当然如果你不需要把 HTTP->HTTPS 可以把这个配置删了
  3. server {
  4. listen 80;
  5. # 配置域名
  6. server_name domain.com www.domain.com;
  7. # 配置让这些 HTTP 的访问全部 301 重定向到 HTTPS 的
  8. return 301 https://domain.com$request_uri;
  9. }
  10. # 配置 HTTPS
  11. server {
  12. listen 443 ssl;
  13. server_name www.domain.com domain.com;
  14. # https
  15. ssl_certificate https/domain.com.crt;
  16. ssl_certificate_key https/domain.com.key;
  17. # other setting
  18. }

注意,这里证书的格式是 .crt 的。

配置后的访问规则

输入链接 最终访问链接
http://www.domain.com https://domain.com
http://www.domain.com/404/500 https://domain.com/404/500
http://domain.com https://domain.com
https://www.domain.com https://domain.com
https://domain.com/500 https://domain.com/500

对于网站需要 https 和 http 共同来访问的可以

  1. server {
  2. listen 80;
  3. listen 443 ssl;
  4. server_name www.domain.com domain.com;
  5. # https setting...
  6. # other setting...
  7. }

参考链接