前言

以前maintain过的一个nginx配置,80和443分开配置的,其实是可以通过rewrite规则直接配置80跳转443,也就是http跳转/重定向到https ,下面分享一下这个配置 。

nginx.conf

按照如下格式修改nginx.conf 配置文件,80端口会自动跳转443端口,也就是访问http的时候自动跳转到https,并强制使用SSL证书加密(前提是你需要有有效的HTTPS/SSL证书,如果没有可以免费申请一个)。

*.记得把证书放入conf目录下面的ssl/zhengkai.blog.csdn.net(建议命名为ssl/你的domain)文件夹
在这里插入图片描述

替换zhengkai.blog.csdn.net为你自己的domain。

server {
        listen    443 ssl;
        server_name zhengkai.blog.csdn.net;
 
        #access_log  /data/nginx/zhengkai.blog.csdn.net.access.log main;
        keepalive_timeout 60;
 
        #证书路径,根据实际情况改写
        ssl_certificate      ssl/zhengkai.blog.csdn.net/full_chain.pem;
        ssl_certificate_key  ssl/zhengkai.blog.csdn.net/private.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        #禁止在header中出现服务器版本,防止黑客利用版本漏洞攻击
        server_tokens off;
		
		location / {
			proxy_pass   http://127.0.0.1:2222/cert;
		}  
		location /cert {
			proxy_pass   http://127.0.0.1:2222/cert;
		}
 
}
server {
    listen 80;
    server_name zhengkai.blog.csdn.net;
 
    #核心代码
    rewrite ^(.*)$ https://${server_name}$1 permanent;
}
ver_name}$1 permanent;
}

测试

完美运行。
在这里插入图片描述
测试自己的网站吧。自动跳转https
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐