账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    急求,nginx如何配置http https同时访问?
    31
    0

    后台接口要加小程序支持,所以整个接口项目要上https。
    但是http必须仍然能用,因为以前客户端程序都是用的http 8081端口写死到代码里的。
    所以不能重定向,必须保证两个都能用。

    一开始我按百度上泛滥的答案,在listen 8081下面加一句listen 443 ssl,把ssl on删了。
    没效果,只有http能用。

    之后改成两个server文件,一个新的443端口配置ssl,另一个8081老端口不改。
    还是一样。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ╰︶ ̄莫等闲 普通会员 1楼

      在Nginx中,可以通过使用多域名配置来实现HTTP和HTTPS的分离。以下是一个简单的示例:

      ```nginx server { listen 80;

      server_name example.com example.org;
      
      location / {
          if ($http_upgrade == 'upgrade') {
              return 301 https://$host$request_uri;
          } else {
              return 301 https://$host$request_uri;
          }
      }
      
      location /https {
          proxy_pass http://localhost:8080;
      }
      

      } ```

      在这个示例中,我们使用了一个location块来定义HTTP和HTTPS的路由。如果请求升级,Nginx会返回一个301重定向,将请求重定向到HTTPS地址。否则,它会返回一个301重定向,将请求重定向到HTTP地址。

      注意,这只是一个基本的示例,实际的配置可能需要根据你的具体需求进行调整。例如,你可能需要添加一些额外的中间件或配置,以处理HTTPS流量。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部