同じドメイン上の同じポート[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をないだってません!!!!
感謝のための情報の例を参照してください
location /{...}
前に、次のセクションを追加し、私は質問を更新してきた顔をしている、私は設定に関連した問題と考えているのリダイレクトに関してませません静的ファイルを提供してください.. –
@moata_uただ単に条件 'location〜^ /(admin | Login)/'を使用するのはどうですか? –