wie schreibt man einen Nginx-Serverblock basierend auf dem Port im Host-Header?

wie schreibt man einen Nginx-Serverblock basierend auf dem Port im Host-Header?

Ich möchte mit einem anderen HTTP-Statuscode basierend auf dem „Port“ im HTTP-Hostheader antworten. Der Hostheader sieht folgendermaßen aus:

GET / HTTP/1.1
Host: 10.0.200.18:80
Connection: close

Ich habe einen Serverblock geschrieben, der einwandfrei funktioniert, da er den Hostnamen im Hostheader „10.0.200.18“ mit „Servername“ vergleicht. Gibt es eine Möglichkeit, eine Bedingung basierend auf dem Host-„Port“ zu schreiben?

server {
    listen       8080;
    server_name  10.0.200.244;
    if ($host != $server_name) {
            return 500 $scheme://$server_name$request_uri;
    }
  }

verwandte Informationen