Nginx 阻止单个位置的重定向

Nginx 阻止单个位置的重定向

我有一个强制 https 的重定向:

server {
    listen 80;

    server_name example.com;
    return 301 https://example.com$request_uri;
}

效果很好,但我希望能够使用 http 访问单个文本文件回声模块

server {
    listen 80;

    location /ping {
        echo "http_pong";
    }

    server_name example.com;
    return 301 https://example.com$request_uri;
}

不幸的是,我永远无法到达,/ping因为我得到的是 301 重定向。如何才能防止全局重定向应用于该单个位置?

答案1

尝试将重定向置于 下location /,如下所示:

server {
    listen 80;
    server_name example.com;

    location /ping {
        echo "http_pong";
    }

    location / {
        return 301 https://example.com$request_uri; 
    }
}

答案2

意识到 -“echo” 已被弃用. 使用“返回”

location / {
  return 200 'http_pong';

}

相关内容