suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So schreiben Sie die Nginx-Reverse-Proxy-Konfiguration

Der Effekt, den ich will:

http://hostname/proxy/3000
http://127.0.0.1:3000

http://hostname/proxy/3000/anything
http://127.0.0.1:3000/anything

Es besteht eine Vorgabe: Der Port wird geändert

Ich habe es versucht

location ~ /proxy/(\d+) {
        proxy_pass http://127.0.0.1:;
        rewrite ^/(.*)$ / break;
    }

Aber das Umschreiben hat Probleme, egal wie es geschrieben ist

So schreiben Sie in der Nginx-Konfiguration und warten online ~

滿天的星座滿天的星座2790 Tage vor489

Antworte allen(1)Ich werde antworten

  • 漂亮男人

    漂亮男人2017-05-16 17:28:53

    proxy_pass 的文档里有讲:location 使用了正则后,proxy_pass 指令后面的参数中的 URI 部分会被忽略。可以使用下面的配置间接达到你想要的功能:

    server {
        listen       80;
        server_name  localhost;
    
        location /proxy/ {
            rewrite ^/proxy/(\d+)/(.*)  /internal?port=$1&url=$2 last;
        }
    
        location /internal {
            internal;
            proxy_pass http://127.0.0.1:$arg_port/$arg_url;
        }
    }   
    

    Antwort
    0
  • StornierenAntwort