ドメインの特定のサブドメインをバックエンドにリダイレクトして、バックエンドに渡されるURLの接頭辞 としたいと思います。これは、私が単一のサーバを持っており、複雑さが増してバックエンドの複数のドメインを処理する必要がないためです。したがってNGINX proxy_passのURLとしてサブドメインを書き換える
Iしている場合:記載
sub1.domain.com
=>domain.com/sub1/
sub1.domain.com/pathname
=>domain.com/sub1/pathname
sub1.domain.com/pathname?searchquery
=>domain.com/pathname?searchquery
などを。
これまでのところ、私は出ていることは以下の通りです:
server {
charset utf8;
listen 80;
server_name
domain.com,
sub1.domain.com,
sub2.domain.com,
sub3.domain.com,
sub4.domain.com,
sub5.domain.com;
# Default
if ($host ~ ^domain\.com) {
set $proxy_uri $request_uri;
}
# Rewrites
if ($host ~ (.*)\.domain\.com) {
set $proxy_uri $1$request_uri;
}
location/{
expires 1s;
proxy_pass http://node:8080$proxy_uri; #node is an internally listed host (docker container)
proxy_set_header Host domain.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_valid 200 1s;
}
}
しかし残念ながら、私が得るすべては502です。次のログで不正なゲートウェイ、2017/06/11 12:49:18 [error] 6#6: *2 no resolver defined to resolve node, client: 136.0.0.110, server: domain.com:8888,, request: "GET /favicon.ico HTTP/1.1", host: "sub1.domain.com:8888", referrer: "http://sub1.domain.com:8888/"
私は私の目標を達成することができますどのように任意のアイデア?どんな助けも大いに評価されるでしょう:)
乾杯!