ji4ozhu
V2EX  ›  问与答

https nginx 配置求助

  •  
  •   ji4ozhu · Jul 12, 2017 · 1967 views
    This topic created in 3317 days ago, the information mentioned may be changed or developed.

    现在想让用户访问 http://www.abc.com 就跳转到 https://www.abc.com

    除了 http://www.abc.com/getip.php 不跳转

    这样的规则配置文件如何写呀.?

    5 replies    2017-07-12 16:00:12 +08:00
    ji4ozhu
        1
    ji4ozhu  
    OP
       Jul 12, 2017
    还没有大牛出现~
    elvodn
        2
    elvodn  
       Jul 12, 2017   ❤️ 1
    location / {
    return 301 https://$server_name$request_uri;
    }
    location /getip.php {

    }
    xzl380
        3
    xzl380  
       Jul 12, 2017
    用 server_name 变量的时候要小心一点,如果 上文的 server_name 是个正则的话,这里也会是正则。
    更好的是用$host 变量。
    seanseek
        4
    seanseek  
       Jul 12, 2017
    跨域名要带 http 的各种头,
    试试这种呢,感觉 80 跳 443 可能有问题,

    location /top/ {
    proxy_pass_header Server;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Scheme $scheme;
    proxy_pass https://abs.com/top/;
    }
    ji4ozhu
        5
    ji4ozhu  
    OP
       Jul 12, 2017
    @seanseek 并不跨域名。
    现在的情况是 以前有个 APP 产品发布出去了。没有带自动更新功能,蛮多人用的。
    APP 启动的时候会去访问 http://www.abc.com/getip.php
    但是现在官网需要强制替换成 https.并且访问 http 的强行跳转到 https
    问题来了,这个 getip.php 和 ip.php 不能强行跳转,否则发布出去的 APP 访问不到会崩溃。
    保留 getip.php 访问不跳转的情况下,其他的全跳转。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3015 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:28 · PVG 22:28 · LAX 07:28 · JFK 10:28
    ♥ Do have faith in what you're doing.