2017-01-17 5 views
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とは何かを意味するものではありません。

誰か私に説明を教えてください。

+0

「インターネットから」正確にはどこですか?インターネットは小さな場所ではありません – Isaac

+0

@Isaac、ちょうどチュートリアルのオンラインからコピーされたことを意味します。 – HanXu

+0

'location @ proxy'の代わりに' location/'を使います。 *呼び出される方法がない*名前付きの場所を定義しました!詳細については、[このドキュメント](http://nginx.org/en/docs/http/ngx_http_core_module.html#location)を参照してください。 –

答えて

0

NGINX beginners guideは、NGINXの学習を開始するのに適しています。

+0

正確に答えはありません。私はGoogleにリンクして、NGINXについて学ぶのに適した場所だと言うことができます – Isaac

関連する問題