Nginx verhindert die Weiterleitung für einen einzelnen Standort

Nginx verhindert die Weiterleitung für einen einzelnen Standort

Ich habe eine Weiterleitung, um https zu erzwingen:

server {
    listen 80;

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

Funktioniert super, aber ich möchte in der Lage sein, eine einzelne Textdatei über http zu erreichen, indem ich denEcho-Modul:

server {
    listen 80;

    location /ping {
        echo "http_pong";
    }

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

Leider kann ich nie darauf zugreifen, /pingda ich stattdessen die 301-Weiterleitung erhalte. Wie kann ich verhindern, dass die globale Weiterleitung auf diesen einzelnen Standort angewendet wird?

Antwort1

Versuchen Sie, eine Weiterleitung darunter einzurichten location /, etwa so:

server {
    listen 80;
    server_name example.com;

    location /ping {
        echo "http_pong";
    }

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

Antwort2

Sei vorsichtig -"echo" ist veraltet. Verwenden Sie „Return“

location / {
  return 200 'http_pong';

}

verwandte Informationen