0
Nginxを使用してプロキシをデプロイしていて、ちょっと混乱します。
以下は、私の元の設定ファイルである:
server {
server_name xxx;
listen 80;
location @proxy {
proxy_pass http://127.0.0.1:9099;
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Server;
proxy_connect_timeout 3s;
proxy_read_timeout 10s;
}
}
私が追加した場合、しかし、404
になり
try_files $uri @proxy;
location
ブロック、すなわち
server {
server_name funfact.wechat.fantwan.com;
listen 80;
// The new line
try_files $uri @proxy;
location @proxy {
proxy_pass http://127.0.0.1:9099;
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass_header Server;
proxy_connect_timeout 3s;
proxy_read_timeout 10s;
}
}
前
すべてがうまくいく。
コードはインターネットからコピーされていますが、なぜそれが機能するのかわかりません。 は$uri
にあるファイルを検索しようとしていますが、と@xxx
とは何かを意味するものではありません。
誰か私に説明を教えてください。
「インターネットから」正確にはどこですか?インターネットは小さな場所ではありません – Isaac
@Isaac、ちょうどチュートリアルのオンラインからコピーされたことを意味します。 – HanXu
'location @ proxy'の代わりに' location/'を使います。 *呼び出される方法がない*名前付きの場所を定義しました!詳細については、[このドキュメント](http://nginx.org/en/docs/http/ngx_http_core_module.html#location)を参照してください。 –