V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
vueli
V2EX  ›  问与答

请教一个 nginx 的问题, http 无法跳转到 https

  •  
  •   vueli · 103 天前 · 590 次点击
    这是一个创建于 103 天前的主题,其中的信息可能已经有所发展或是发生改变。

    wishimg wishimg wishimg

    首先原谅我打马赛克, 这个是公司的, 不敢露出去.

    现在的情况是 http 和 https 都能访问到网站. http 跳转不到 https.

    而且我给他 301 跳转到 baidu.com 也没反应. 太神奇了.

    nginx 重启过, nginx -t 也 ok. 就差服务器重启了, 但是重启怕出现一些别的问题.尽量避免重启.

    我自己的个人网站这样写法都是没问题的, 我就很难受, 找不到原因了!!

    7 条回复    2021-07-06 17:25:25 +08:00
    AoEiuV020
        1
    AoEiuV020   103 天前   ❤️ 1
    /etc/nginx/sites-enabled
    检查是不是有其他配置重复了覆盖了这里的配置,
    misaka19000
        2
    misaka19000   103 天前   ❤️ 1
    nginx 不是可以直接 redirect 的吗,搞这么复杂干嘛🤧
    littleylv
        3
    littleylv   103 天前   ❤️ 2
    rewrite 那一行换成

    return 301 https://m.example.com$request_uri;

    试试
    eason1874
        4
    eason1874   103 天前   ❤️ 2
    可以确定 http 访问到的不是第一个 server

    看看其他配置文件,可能是其他 80 server 的也绑定了这个域名,匹配到那个了。如果确定没有,就是没有重启成功,还在用旧的 worker 处理请求,试试 force-reload

    另外,域名 http 转 https 一般这样写 return 301 https://$host$request_uri;
    vueli
        5
    vueli   103 天前
    @eason1874
    @littleylv
    @misaka19000
    @AoEiuV020

    才知道, 我老大买了一个阿里的 全站加速. 需要在阿里控制台修改

    https://imgur.com/EULaISJ
    vueli
        6
    vueli   103 天前
    [img][/img]。 各位不好意思, 才知道. 我老大用了全站加速. 需要在控制台修改
    ysc3839
        7
    ysc3839   103 天前 via Android   ❤️ 3
    顺便提一下,在 nginx 中,对于“匹配任意网址,然后进行某些操作”这种需求,基本上是不需要使用 rewrite 的。
    虽然 rewrite 能实现这类需求,但是 nginx 专门提供了性能更好指令,比如 try_files 。

    就算一定要用 rewrite,截图中的也可以改成 rewrite ^ http://example.com$request_uri? permanent;
    因为 ^ 是匹配文本开头,任何文本都有个开头,所以能实现“匹配任意文本”的功能。然后 rewrite 本身匹配的就是 $request_uri,那直接用就行了。
    Nginx 博客有一篇文章专门提到了这个问题 https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#taxing-rewrites
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3201 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 04:11 · PVG 12:11 · LAX 21:11 · JFK 00:11
    ♥ Do have faith in what you're doing.