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
后面,所以发送的重定向响应头仍然是使用后端的地址。在apache
中可以通过配置ProxyPassReverse
选项修改后端发给client
的响应头来实现,在nginx
, jadi tambah maklumat proksi pada permintaan yang dihantar ke bahagian belakang (beritahu tomcat bahawa terdapat proksi di hadapannya):Dokumen rujukan: Penyelesaian NGINX untuk Apache ProxyPassReverse