L'effet que je souhaite?:
http://hostname/proxy/3000
http://127.0.0.1:3000
http://hostname/proxy/3000/anything
http://127.0.0.1:3000/anything
Il y a une condition : le port est changé
J'ai essayé
location ~ /proxy/(\d+) {
proxy_pass http://127.0.0.1:;
rewrite ^/(.*)$ / break;
}
Mais la réécriture a des problèmes, quelle que soit la fa?on dont elle est écrite
Comment écrire dans la configuration nginx, en attente en ligne~
proxy_pass
的文檔里有講:location
使用了正則后,proxy_pass
La partie URI dans les paramètres suivant la directive sera ignorée. Vous pouvez utiliser la configuration suivante pour réaliser indirectement la fonction souhaitée?:
server {
listen 80;
server_name localhost;
location /proxy/ {
rewrite ^/proxy/(\d+)/(.*) /internal?port=&url= last;
}
location /internal {
internal;
proxy_pass http://127.0.0.1:$arg_port/$arg_url;
}
}