升级https,nginx配置问题

ZS-T 发布于 2018/12/10 16:20
阅读 120
收藏 0

云栖大会9月17火热来袭,云栖训练营福利提前大放送!>>>

旧域名http://www.a.com(化名),新域名https://www.b.com(化名)有升级https。

需要从a域名跳转至b域名

起初如下配置,会报405,post请求会变成get请求

  server {
       listen 80;
       server_name  www.a.com;
       rewrite ^(.*) https://www.b.com$1 permanent;
  }

百度结果如下,但客户端会返回:request failed, response`s code is :307

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

网上的是 return 307 https://$host$request_uri; 但host是指a域名了,我要的是重定向到b域名。

问题:配置哪里出了问题,或者应该要如何配置,感谢!

以下是问题补充:

@ZS-T:网站是可以正常重定向的,就是app客户端会报错:code: 307 (2018/12/10 16:22)
加载中
0
Feng_Yu
Feng_Yu

return 301

ZS-T
ZS-T
回复 @Feng_Yu : post请求,服务里日志打印变成get请求了,我就是后台的。
Feng_Yu
Feng_Yu
回复 @钟丶2018 : 你没理解我的意思。我不是说https不可以,而是后端的请求出现了问题。你把nginx的debug信息和后端的错误日志对照下就知道了。这个你必须跟后端开发者沟通解决的。
ZS-T
ZS-T
回复 @Feng_Yu : https可以啊!
Feng_Yu
Feng_Yu
回复 @钟丶2018 : 那是扯淡,肯定是你的redirect是后端不被许可的格式,在后端打印下你的请求看看。405说明你的反向代理后端不被许可。肯定是后端的问题,跟nginx一毛钱关系都没有。你的Nginx配置看不出任何问题,肯定是你redirect之后后端的请求不对了,在后端打印下http request和response的详细内容再看。
ZS-T
ZS-T
回复 @Feng_Yu : 报405,post请求会变成get请求,这是http转https导致的,网上是说要改成307
下一页
0
D
DEPAKIN

server

{

listen 80;

server_name aaaaaa ;

return 301 https://bbbbb$request_uri;

}

ZS-T
ZS-T
301的话,报错405,post请求会变成get请求。跟我第一个设置是一样的
返回顶部
顶部