首先配置支持 HTTPS 必须让 Nginx 开启 http_ssl_module
模块,点击查看 nginx 编译安装参数 ,可以使用nginx -V
查看是否开启TLS SNI support enabled
。
购买/生成 SSL 证书,可以使用免费的证书,在这里申请就很可以 腾讯云 SSL 证书
# 配置 HTTPS
# 配置个http的站点,用来做重定向,当然如果你不需要把 HTTP->HTTPS 可以把这个配置删了
server {
listen 80;
# 配置域名
server_name domain.com www.domain.com;
# 配置让这些 HTTP 的访问全部 301 重定向到 HTTPS 的
return 301 https://domain.com$request_uri;
}
# 配置 HTTPS
server {
listen 443 ssl;
server_name www.domain.com domain.com;
# https
ssl_certificate https/domain.com.crt;
ssl_certificate_key https/domain.com.key;
# other setting
}
注意,这里证书的格式是
.crt
的。
配置后的访问规则
对于网站需要 https 和 http 共同来访问的可以
server {
listen 80;
listen 443 ssl;
server_name www.domain.com domain.com;
# https setting...
# other setting...
}