首先配置支持https
必须让nginx
开启http_ssl_module
模块,点击查看nginx编译安装参数 ,可以使用nginx -V
查看是否开启TLS SNI support enabled
。
购买/生成ssl
证书,可以使用免费的证书,比如:Let's Encrypt,免费好用的 HTTPS 证书, 签发免费 SSL 泛域名证书
# 配置https
# 配置个http的站点,用来做重定向,当然如果你不需要把http->https可以把这个配置删了
server {
listen 80;
# 配置域名
server_name www.xxoo.com xxoo.com;
# 添加STS, 并让所有子域支持, 开启需慎重
add_header strict-transport-security 'max-age=31536000; includeSubDomains; preload';
# 配置让这些http的访问全部301重定向到https的
rewrite ^(.*) https://www.xxoo.com$1 permanent;
}
# 配置https
server {
# 配置域名
server_name www.xxoo.com xxoo.com;
# https默认端口
listen 443;
# 添加STS, 并让所有子域支持, 开启需慎重
add_header strict-transport-security 'max-age=31536000; includeSubDomains; preload';
# https配置
ssl on;
ssl_certificate /xxoo/www.xxoo.com.crt;
ssl_certificate_key /xxoo/www.xxoo.com.key;
# 其他按正常配置处理即可...
}
注意,这里证书的格式是
.crt
的