【问题标题】:How to test NGINX redirect如何测试 NGINX 重定向
【发布时间】:2018-05-17 10:37:53
【问题描述】:

我刚刚用下面的conf文件配置了一个Nginx:

server {
    listen       80;
    server_name teste.mysite1.com                              
    server_name  ^/$ https://www.mysite2.com.br permanent;
}

然后我会尝试看看它是否回复301 redirect.

我试过了:

curl -i -H "Host: teste.mysite1.com" http://http://ec2-18-236-182-168.us-west-2.compute.amazonaws.com

我以为它会重定向,但它仍然返回 http 200 响应。

我做错了什么?

【问题讨论】:

    标签: http redirect nginx


    【解决方案1】:
    server {
        listen 80;
        server_name teste.mysite1.com
        return      301  https://www.mysite2.com.br;
    }
    

    重新加载 Nginx 以使用新配置。

    curl -i -H "Host: teste.mysite1.com" http://ec2-18-236-182-168.us-west-2.compute.amazonaws.com
    

    【讨论】:

      【解决方案2】:

      您的服务器块错误,您在重定向逻辑之前使用了server_name。你需要像这样配置它:

      server {
          listen       80;
          server_name teste.mysite1.com                              
          rewrite  ^/$ https://www.mysite2.com.br permanent;
      }
      

      请注意,此配置将重定向网站根目录。如果您想重定向 teste.mysite1.com 上的任何 url,请删除 /$

      【讨论】:

      • 刚刚修复.. 但我仍然得到 200。
      猜你喜欢
      • 2022-01-10
      • 2016-07-18
      • 2018-04-11
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      相关资源
      最近更新 更多