nginx版本:1.17
证书获取阿里云:_xxxx.xxxxx.top.pem、_xxxx.xxxxx.key
域名:xxxx.xxxxx.top
一、ssl 443端口
很多,不在赘述。
二、非443端口
nginx.conf
server {
# 监听端口,切记,12000 后面必须加ssl
listen 12000 ssl;
# 域名
server_name xxxx.xxxxx.top;
# 证书的以及其全路径
ssl_certificate /etc/nginx/conf/cert/_xxxx.xxxxx.top.pem;
ssl_certificate_key /etc/nginx/conf/cert/_xxxx.xxxxx.key;
# 可以参考官网配置
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
# 指定密码为openssl支持的格式
ssl_protocols SSLv2 SSLv3 TLSv1.2;
# 密码加密方式,可以采取默认
ssl_ciphers HIGH:!aNULL:!MD5;
# 依赖SSLv3和TLSv1协议的服务器密码将优先于客户端密码
ssl_prefer_server_ciphers on;
#利用error_page命令将497、301状态码的链接重定向到https://xxxx.xxxxx.top这个域名上
error_page 497 301 https://$http_host$request_uri;
......
}
nginx的error_page状态码说明:
497 - normal request was sent to HTTPS
解释:当网站只允许https访问时,当用http访问时nginx会报出497错误码