51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Nginx通过配置nginx.conf实现80端口重定向至443端口(http跳转https)

引言 {#引言}

本文介绍nginx从80端口重定向到443端口的实现方法,也就是实现http访问自动跳转到https的功能。

修改nginx.conf配置文件 {#修改nginx-conf配置文件}

按照如下格式修改nginx.conf配置文件(只需要增加第6行代码rewrite ^(.*)$ https://${server_name}$1 permanent;即可),80端口会自动转发给443端口,这样就强制使用SSL证书进行加密了。也就实现了访问http的时候自动跳转到https的功能。

|-----------------------|------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 | server { listen 80; server_name zsyyblog.com; #核心代码 rewrite ^(.*)$ https://${server_name}$1 permanent; } |

备注:${server_name}可以换成$host

修改配置后重启nginx:service nginx reload 或者 systemctl reload nginx.service 或者 ./nginx -s reload

如果还没有配置443端口的监听,请参考下面的配置:

|---------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | server { listen 443; server_name zsyyblog.com; #开启ssl证书认证 ssl on; access_log /data/nginx/zsyyblog.access.log main; keepalive_timeout 60; #证书路径,根据实际情况改写 ssl_certificate /data/nginx/cert/zsyyblog.com.pem; ssl_certificate_key /data/nginx/cert/zsyyblog.com.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; #禁止在header中出现服务器版本,防止黑客利用版本漏洞攻击 server_tokens off; } |

重定向参考配置 {#重定向参考配置}

|---------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | server { listen 80; server_name zsyyblog.com; rewrite ^(.*)$ https://${server_name}$1 permanent; } server { listen 80; server_name www.zsyyblog.com; rewrite ^(.*)$ https://zsyyblog.com$1 permanent; } server { listen 443; server_name www.zsyyblog.com; rewrite ^(.*)$ https://zsyyblog.com$1 permanent; } |

通过上面的配置实现将请求全部跳转至一个域名地址:https://zsyyblog.com


赞(5)
未经允许不得转载:工具盒子 » Nginx通过配置nginx.conf实现80端口重定向至443端口(http跳转https)