Nginx配置域名同时支持 https 和 http 访问

在这篇CentOS云主机中Nginx正向代理http、https文章中已经分别介绍了nginx代理 http 和 https 请求。

但有时业务需要同个域名支持 https 和 http 两种方式访问,可以如下配置文件。

server
     {
         listen 80;
         listen      443 ssl;   //修改后
         server_name  liu.test.com;
         location /
            {
              expires      302400s;

              proxy_pass   http://xxxx/xxxx/;            
                 }
              #ssl on;    //修改后
              ssl_certificate /usr/local/nginx/conf/server.crt;
              ssl_certificate_key /usr/local/nginx/conf/server.key;
              access_log  /usr/local/nginx/xxxx.log   log_access;

      }

注意看标有//修改后的地方

如果你想强制使用https访问,对端口进行判断,然后rewrite即可。

if ($server_port != 443) {
    rewrite (.*) https://$host$1 permanent;
}

参考文献

Nginx 同时支持http和https(ssl)共存的方法

  • 1
    点赞
  • 5
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:程序猿惹谁了 设计师:我叫白小胖 返回首页
评论

打赏作者

gary-liu

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值