Terdapat dua aplikasi jsp, alamat akses tempatan adalah seperti berikut
http://127.0.0.1:8080/app1
http://127.0.0.1:8080/app2
Akses ke http://domain.com/app1 dan http://domain.com/app2 boleh dicapai melalui konfigurasi berikut
server {
listen 80;
server_name domain.com;
charset utf-8;
location /{
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;
}
}
Sekarang saya ingin menggunakan dua nama domain untuk mengakses kedua-dua aplikasi ini
Lawati http://127.0.0.1:8080/app1 melalui http://app1.domain.com
Akses melalui http://app2.domain.com http ://127.0.0.1:8080/app2
Konfigurasi adalah seperti berikut
server {
listen 80;
server_name app1.domain.com;
charset utf-8;
location /{
proxy_pass http://127.0.0.1:8080/app1;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name app2.domain.com;
charset utf-8;
location /{
proxy_pass http://127.0.0.1:8080/app2;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Hasilnya hanya boleh memaparkan halaman utama, dan sumber statik tidak boleh dimuatkan
#我感觉应该这么写可是有语法错误
if ($uri ^/$){proxy_pass http://127.0.0.1:8080/app1;}
if ($uri ^/app1){proxy_pass http://127.0.0.1:8080/$request_uri;}
Jadi bagaimana ia harus dikonfigurasikan?
Apakah maksud Tidak dapat memuatkan? Adakah ia 502? Atau adakah laluan statik dalam jsp salah?
Sebenarnya, anda boleh sahaja berdasarkan yang di atas. . Kemudian pemajuan pseudo-statik berdasarkan nama domain peringkat kedua sudah memadai. . Saya tidak akan menulis butirannya. Prinsipnya begitu. Perlu beberapa kali percubaan untuk menentukan kaedah penulisan.
Idea umum adalah untuk memajukan semua .domain.com/ ke http://127.0.0.1:8080/$1/$2
Terima kasih atas jemputan!
Saya rasa perlu untuk memisahkan dinamik dan statik, dan biarkan js, css dan imej diproses oleh ngixn dan bukannya tomcat. Permintaan jsp dimajukan kepada tomcat untuk diproses.
Sayang. . . Jika anda belum menulis root lagi, bagaimanakah nginx boleh memberi anda fail proksi? Baiklah di tingkat atas.