全球主机交流论坛

标题: nginx http to https [打印本页]

作者: cooc123    时间: 2018-5-8 23:39
标题: nginx http to https
  1. server
  2.     {
  3.         listen 80;
  4.         #listen [::]:80;
  5.         server_name www.xxx.com xxx.com;

  6.         location ~ /.well-known {
  7.             root  /data/wwwroot/www.xxx.com;
  8.             allow all;
  9.         }

  10.         location / {
  11.             rewrite ^/(.*)$ https://www.xxx.com/$1 permanent;
  12.         }
  13.     }
复制代码


现在访问 http://www.xxx.com 会跳到https
访问 https://www.xxx.com 还是301
哪出错了
作者: toyst    时间: 2018-5-8 23:40
请问你的ssl配置跑哪儿去了?
作者: cooc123    时间: 2018-5-8 23:42
toyst 发表于 2018-5-8 23:40
请问你的ssl配置跑哪儿去了?

ssl 没贴出来

只要把 rewrite ^/(.*)$ https://www.xxx.com/$1 permanent; 给注释 Https 访问是正常的
ssl 的server 没有301
作者: rooney    时间: 2018-5-8 23:44
前面是不是还加了CDN或者是反向代理?
作者: cooc123    时间: 2018-5-8 23:45
rooney 发表于 2018-5-8 23:44
前面是不是还加了CDN或者是反向代理?

cf 的cdn 没有反向代理
作者: rooney    时间: 2018-5-8 23:46
cooc123 发表于 2018-5-8 23:45
cf 的cdn 没有反向代理

所以CF的CDN配置的源站是不是用的HTTP?
作者: 三思而后折腾    时间: 2018-5-8 23:46
cooc123 发表于 2018-5-8 23:45
cf 的cdn 没有反向代理

cf 是不是启用强制 https
作者: cooc123    时间: 2018-5-8 23:47
rooney 发表于 2018-5-8 23:46
所以CF的CDN配置的源站是不是用的HTTP?

这个怎么看
作者: xiaoz    时间: 2018-5-8 23:50
下面这几行的意思是无论http还是https,只要请求/目录都重定向到https明显有问题。
  1. location / {
  2.             rewrite ^/(.*)$ https://www.xxx.com/$1 permanent;
  3.         }
复制代码

作者: 墨迹    时间: 2018-5-9 00:11
http://www.hostloc.onozo.cc/forum.php?mod=viewthread&tid=448151
作者: FrozenAngels    时间: 2018-5-9 00:17
你这是死循环啊,无限rewrite.你加上条件判断$ssl_protocol是否为空就行
作者: cooc123    时间: 2018-5-9 09:26
墨迹 发表于 2018-5-9 00:11
http://www.hostloc.onozo.cc/forum.php?mod=viewthread&tid=448151

cf 选了 strict 就好了,多谢




欢迎光临 全球主机交流论坛 (https://hostloc.onozo.cc/) Powered by Discuz! X3.4