2016-09-02 15 views
0

同じドメイン上の同じポート[8080,8090]に2つのアプリケーションがあります。NGINX 1つのドメイン上の複数のアプリケーション

私は次のようnginxのを設定しています

server { 
     listen 80 ; 
     server_name XXX.XXX.XXX; 
     root   /usr/share/nginx/html; 
     # Load configuration files for the default server block. 
     include /etc/nginx/default.d/*.conf; 

     location /{ 

     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Proto $scheme; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-NginX-Proxy true; 

     proxy_pass http://localhost:8080; 
     } 

     location /admin { 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Proto $scheme; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-NginX-Proxy true; 

     proxy_pass http://localhost:8090; 
     } 

    } 

問題は404エラーを正常に動作し、ポート8080上の最初のアプリケーションが、他のアプリケーションのCSSロードされていない取得しています。そのようなケースを処理するための最良の方法は/ディレクトリです。 /管理アプリケーションへのヒットは、アプリケーションが/ログインページを返す必要がある場合は

私はnginxのログに探していた:それは正しいアプリケーションその後、/ログインにnginxのプロキシ/管理がされていないことを示して

xx.xx.xx.xx - - [03/Sep/2016:09:00:35 +0000] "GET /admin/ HTTP/1.1" 302 0 "-" "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0" "-" 
xx.xx.xx.xx - - [03/Sep/2016:09:00:36 +0000] "GET /Login HTTP/1.1" 404 0 "-" "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0" "-" 

設定上、私は次のように設定を変更した場合、それは、404を返すよう:

location /admin { 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Proto $scheme; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-NginX-Proxy true; 

     proxy_pass http://localhost:8090/Login; 

その作業が、CSSは、再度、nginxの構成上のすべてのCSSファイルのURLをないだってません!!!!

答えて

0

静的ファイルを別の方法で配信し、静的ファイルへの送信要求をバックエンドにバイパスする必要があります。

ここで他の設定の答えのためのhttps://www.nginx.com/resources/wiki/start/topics/examples/full/#

+0

感謝のための情報の例を参照してくださいlocation /{...}

# serve static files location ~ ^/(images|javascript|js|css|flash|media|static)/ { root /usr/share/nginx/html/<folder with your static files>; include /etc/nginx/mime.types; expires 30d; } 

前に、次のセクションを追加し、私は質問を更新してきた顔をしている、私は設定に関連した問題と考えているのリダイレクトに関してませません静的ファイルを提供してください.. –

+1

@moata_uただ単に条件 'location〜^ /(admin | Login)/'を使用するのはどうですか? –

関連する問題