nginx 如何强制跳转 https

本项目 nginx 作为代理服务

项目上线,客户说要加个安全证书 ,于是安全证书是加上了,可是htttp和https都能访问网站,客户要求不行必须强制用带有https的地址访问

开整

这是 http 和https 都能访问的 nginx.conf  关键配置

复制代码
    server {

        listen       80;
        listen       443 ssl;
        
        server_name  xxxxon.com www.xxx.com;
        
        
        ssl_certificate      /usr/local/server/cert/xxx.com_bundle.pem;
        ssl_certificate_key  /usr/local/server/cert/xxx.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_pass http://1x6.1x.1xx.138:8888;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

    }
复制代码

因为监听了两个端口号 导致http和https都能访问   注:443是监听ssl证书的端口 80是默认端口

改成以下这样即可

复制代码
    server {

        listen       80;
        
        server_name  xxxx.com www.xxxx.com;
        
        return 301 https://$server_name$request_uri;
    }
    
    server {

        listen       443 ssl;
        
        server_name  xxxx.com www.xxxx.com;
        
        
        ssl_certificate      /usr/local/server/cert/xxxx.com_bundle.pem;
        ssl_certificate_key  /usr/local/server/cert/xxxx.com.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_pass http://xxx.xx.xxx.xxx:8888;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

    }
复制代码

第一个服务端口是监听80,重定向到带有https 的协议的端口 也就是下面那一个443端口 

第二个本来就是 ssl端口 不用管控

 

已解决

 

还有一种方式告诉大家,也是无意间知道的 ,用mate页面刷新的方式

创建个html页面 ,插入这一句

<html>
<meta http-equiv="refresh" content="0;url=https://baidu.com/">
</html>

当你打开这个页面的时候 ,自然会重定向到带有安全证书的百度页面

这种方式你们可以自由发挥

 

posted @   lanwf  阅读(2215)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示