Rumah > Soal Jawab > teks badan
Kesan yang saya mahukan:
http://hostname/proxy/3000
http://127.0.0.1:3000
http://hostname/proxy/3000/anything
http://127.0.0.1:3000/anything
Ada keperluan: port ditukar
Saya dah cuba
location ~ /proxy/(\d+) {
proxy_pass http://127.0.0.1:;
rewrite ^/(.*)$ / break;
}
Tetapi menulis semula mempunyai masalah tidak kira bagaimana ia ditulis
Cara menulis dalam konfigurasi nginx, menunggu dalam talian~
漂亮男人2017-05-16 17:28:53
proxy_pass
的文档里有讲:location
使用了正则后,proxy_pass
Bahagian URI dalam parameter yang mengikuti arahan akan diabaikan. Anda boleh menggunakan konfigurasi berikut untuk secara tidak langsung mencapai fungsi yang anda inginkan:
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;
}
}