Operasi dan penyelenggaraan - Nginx reverse proxy tomcat
仅有的幸福
仅有的幸福 2017-05-16 17:13:23
0
4
490

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?

仅有的幸福
仅有的幸福

membalas semua(4)
迷茫

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.


location ~ .*\.(jpg|js|css)$ 
{ 
root /home/www/image/;
}
世界只因有你

Sayang. . . Jika anda belum menulis root lagi, bagaimanakah nginx boleh memberi anda fail proksi? Baiklah di tingkat atas.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan