Rumah  >  Soal Jawab  >  teks badan

Operasi dan penyelenggaraan - Nginx reverse proxy tomcat

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?

仅有的幸福仅有的幸福2714 hari yang lalu456

membalas semua(4)saya akan balas

  • 迷茫

    迷茫2017-05-16 17:15:23

    Apakah maksud Tidak dapat memuatkan? Adakah ia 502? Atau adakah laluan statik dalam jsp salah?

    balas
    0
  • 迷茫

    迷茫2017-05-16 17:15:23

    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

    balas
    0
  • 阿神

    阿神2017-05-16 17:15:23

    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/;
    }

    balas
    0
  • 世界只因有你

    世界只因有你2017-05-16 17:15:23

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

    balas
    0
  • Batalbalas