问答

nginx 将 http 转换为 https

作者:admin 2021-06-16 我要评论

nginx 配置中想将 http 请求自动转换为 https,搜到N个方案都是下面这样的解决方法,不过我怎么试验失败呢? ### server { listen 80; server_name www.xxx.com;...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

nginx 配置中想将 http 请求自动转换为 https,搜到N个方案都是下面这样的解决方法,不过我怎么试验失败呢?
转https.png

###
server {
    listen      80;
    server_name www.xxx.com;
    return 307 https://www.xxx.com$request_uri;
}

server {
    listen      80;
    listen 443 ssl;
    server_name www.xxx.com;

    location / {
        root /mnt/www/xxx;
        index index.htm index.html;
    }

    location /xxx {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:20000;
    }
}
###

rewrite 那行的$1nginx解析不出,所以重定向到 https://x.x.com,然后你https下 / 没有配置,所以不通。

改用楼上的 $request_uri 就行。

ps:截图里域名暴露了,赶紧修改一下。

###
location / 
{
    return 301 https://$server_name$request_uri;
}
###

我个人网站nginx是这样配置https的
首先贴下个人网站地址 https://www.charmcode.cn/

server {
        listen       80;
        # 监听www前缀和无前缀的http请求
        server_name  www.charmcode.cn charmcode.cn;
        # 跳转到https
        return 301 https://www.charmcode.cn$request_uri;
}

server {
        listen       443 ssl;
        server_name  www.charmcode.cn;
        root         /usr/share/nginx/html;

        ssl_certificate "/etc/nginx/cert/www.charmcode.cn.crt";
        ssl_certificate_key "/etc/nginx/cert/www.charmcode.cn.key";
        # xxx其他转发请求配置
}

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx 将 http 转换为 https

    nginx 将 http 转换为 https

  • webpack2+vue 的项目引入ts 找不到.vue

    webpack2+vue 的项目引入ts 找不到.vue

  • 关于MVVM的一些疑问

    关于MVVM的一些疑问

  • PyQt5中布局内的控件如何充满布局?

    PyQt5中布局内的控件如何充满布局?

腾讯云代理商
海外云服务器