Hello semua, saya ada soalan
Penerangan masalah:
location ^~ /tomcat/ {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /ife2017/ {
proxy_pass http://127.0.0.1:8080/ife2017/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Di atas adalah sebahagian daripada konfigurasi nginx saya, tujuannya ialah
1 Lompat semua permintaan dari www.abc.com/tomcat/xxx ke tomcat, fungsinya normal
2. Lompat semua permintaan untuk www.abc.com/ife2017/xxx ke tomcat, dan kemudian lompat ke ife2017 melalui fungsinya bukan biasa
Nota: ife2017 ialah folder dalam direktori akar tomcat, ia boleh diakses secara normal sebelum menggunakan proksi nginx
Prestasi khusus ialah www.abc.com/ife2017/123 boleh melompat secara normal tanpa nombor port
Tetapi www.abc.com/ife2017/123/456 tidak boleh melompat secara normal dan akan melompat ke www.127.0 .0.1.com /ife2017/123/456
Penyelesaian semasa saya ialah menukar 127.0.0.1 kepada nama domain sebenar, tetapi dalam kes ini nombor port 8080 akan ditambah selepas lompatan Walaupun masalahnya tidak besar, saya masih mahukan penyelesaian yang sempurna
Terima kasih semua terlebih dahulu
Masalah konfigurasi proksi terbalik, tiada pilihan yang serupa dalam tomcat
并不知道他在nginx
后面,所以發(fā)送的重定向響應(yīng)頭仍然是使用后端的地址。在apache
中可以通過配置ProxyPassReverse
選項修改后端發(fā)給client
的響應(yīng)頭來實現(xiàn),在nginx
, jadi tambah maklumat proksi pada permintaan yang dihantar ke bahagian belakang (beritahu tomcat bahawa terdapat proksi di hadapannya):
server {
listen myhost:80;
server_name myhost;
location / {
root /path/to/myapp/public;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://myapp:8080;
}
}
Dokumen rujukan: Penyelesaian NGINX untuk Apache ProxyPassReverse