2016-09-04 8 views
1

私はあなたの助けが必要です、私はこれを行う正確な方法を見つけることができませんでした。Nginxロケーションプロキシパスのホームページ一箇所、他のルート、別の場所

私は別のプロキシパスに一つだけはProxyPassの場所

location/{ 
     proxy_pass http://website; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
    } 

そして、(私はそれがダイナミックになり、彼らはすべてがどうなるかわかりません)他のすべてのルートを送信するために私のホームページを送りたい

location /* { 
     proxy_pass http://interaction; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
    } 

私は(それが動作しないので)*間違っている知っているが、それだけで/何か/何か/ idontknowyet助けを

感謝を表現することでした!

+0

'location /'は他のすべてを意味します(アスタリスクは必要ありません) - ホームページ(リソースファイルを含む)で必要とされるURIを特定し、それらに一致する場所を作成する必要があります。正しい構文については、[このドキュメント](http://nginx.org/en/docs/http/ngx_http_core_module.html#location)を参照してください。 –

+0

それはまさに私のジレンマです。私は規則を使用することができるように/他のすべてのためにホームページを選択するブロックが必要です。 – user2278120

答えて

2

あなたのホームページ(/以外)を構成するURIは明確ではありません。

完全一致の場所のブロックは他のすべてを一致させるために、既定の場所のブロックを使用して、ホームページを一致させるために使用することができ、何のリソースファイルが必要とされていないと仮定すると、何のリダイレクトが発生していない:

location =/{ 
    proxy_pass http://website; 
    ... 
} 
location/{ 
    proxy_pass http://interaction; 
    ... 
} 

は用this documentを参照してください。詳細。

しかし、ホームページを構成する他のURI(cssやjsファイルなど)があります。それらの場所ブロックを追加する必要があります。または、ホームページで必要なすべてのURIに一致する正規表現の場所ブロックを使用する必要があります。

+0

それは完全に完全に機能しました。ありがとうございました!! :)私は既に静的なファイルを指し示す必要がある場所を指していました。 – user2278120