2017-08-24 9 views
2

マイnginxのバーチャルホストの設定内容:設定としてnginxの:場所=/{}エラー

server { 
    listen 80; 
    server_name t.xianzhi.xxx.domain; 
    access_log /data/log/nginx/t.xianzhi.xxx.domain_access.log main; 

    location ~ /\. {deny all;} 

    proxy_set_header X-Real-IP  $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host   $host; 

    location =/{ 
     root /data/web/static/html; 
     index index.html; 
    } 

    location/{ 
     proxy_pass   http://127.0.0.1:9000; 
    } 

    location = /favicon.ico { 
     access_log off; 
     root /data/web/static/; 
    } 

    location = /apple-app-site-association { 
     add_header Content-Type "text/html; charset=utf-8"; 
     root /data/web/show/public/wap/; 
    } 

    location ~ \.(css|js|png|jpg|woff|ttf)$ { 
     root /data/web/static; 
     expires 10d; 
    } 

} 

は、私はproxy_passするためにサーバに//data/web/static/html/index.htmlとサーバー他のパスをしたいです。

真実はパス/が見つからず、他のものが成功しています。

ログは次のとおりです。だから、

24/Aug/2017:10:49:43 +0800 10.5.17.37 t.xianzhi.xxx.domain - curl/7.51.0 - request:GET/HTTP/1.1 bbs:233status:404 upad:127.0.0.1:9000 rspt:0.017 rqtt:0.017 request_body:- 

/をプロキシに渡されます。

いくつかの情報:

nginxのバージョン:nginx/1.10.1

だから、どのようにそれを修正するには?

答えて

1

問題は= /ロケーションブロックです。セクションを考慮する場合

location =/{ 
    root /data/web/static/html; 
    index index.html; 
} 

rootとindex.htmlを指定しますが、何もサーバーしません。だから、私はこれを試してみました

location =/{ 
    root /data/web/static/html; 
    index index.html; 
    try_files /index.html =404; 
} 

または

location =/{ 
    root /data/web/static/html; 
    try_files /index.html =404; 
} 
+0

にそれを変更する必要があります。良いメッセージは '/' pathはここでマッチします。そして、悪いメッセージはまだ404です。区別のため、私の設定は 'try_files index.html = 502;'です。それは502を返します。そして、 '/ data/web/static/html/index.html'ファイルが存在することを確認できます。 – Nil

+0

そのブロックが呼び出されるかどうかを確認してください。 –

+0

'='ブロックが呼び出されます。私の編集が助けてくれるか確認してください。 –

関連する問題