2017-05-03 9 views
1

Nginxを実行している小さな組み込みLinuxデバイスがあります。私はそれをネットワーク経由で接続し、ChromeやFirefoxのPC上のエンドポイントにアクセスすることができます。私のデフォルトページには、/tmp/nginx/loading.jpegのデバイスにある "loading.jpeg"を指すHTMLタグが含まれています。私はブラウザで入力することができます:http://192.168.0.4/loading.jpegと私のイメージを参照してください。また、htmlをレンダリングするエンドポイントにアクセスして、適切にレンダリングされたイメージを見ることもできます。NginxのデフォルトのページとルートWebサーバーの指示

ブラウザでルートページ:http://192.168.0.4/にアクセスして、そのページをHTMLをレンダリングしてイメージを表示する必要がある私のデフォルトページにリダイレクトしたいと考えています。問題は、デフォルトの "/"位置のページを設定した場合、/ tmp/nginxを指す私のWebサーバールート指令がもう機能しなくなるということです。だから私のページが表示されますが、loading.jpegイメージは見つかりません。ルートリクエストをデフォルトページにリダイレクトしようとしましたが、ウェブサーバーのルートも破損しています。

NginxのデフォルトWebページをレンダリングするにはどうしたらいいですか?ありがとうございました。

これは動作しません(Webサーバのルートが壊れている - 期待されるデフォルトのWebページが表示されているが):ここでは

location/{ 

      default_type text/html; 
      content_by_lua_file /sbin/http/serve_stream.lua; 

      ## The streaming endpoint 
      location /streaming { 

       default_type text/html; 
       content_by_lua_file /sbin/http/serve_stream.lua; 

      } 

がリダイレクトせずに私の現在のnginx.confです:

## Setup server to handle URI requests 
server { 

    # Setup the root 
    root /tmp/nginx; 

    ## Port 
    listen  80; ## Default HTTP 

    ## Android phones from Ice Cream Sandwich will try and get a response from 
    server_name 
      clients3.google.com 
      clients.l.google.com 
      connectivitycheck.android.com 
      apple.com 
      captive.apple.com; 

    ## We want to allow POSTing URI's with filenames with extensions in them 
    ## and nginx does not have a "NOT MATCH" location rule - so we catch all 
    ## and then selectively disable ones we don't want and proxy pass the rest 
    location/{ 

     # For Android - Captive Portal 
     location /generate_204 { 
      return 204; 
     } 

     # For iOS - CaptivePortal 
     if ($http_user_agent ~* (CaptiveNetworkSupport)) { 
      return 200; 
     } 

     ## Raw WebSocket 
     location /ws { 

      lua_socket_log_errors off; 
      lua_check_client_abort on; 

      default_type text/html; 
       content_by_lua_file /sbin/http/websocket.lua; 

     } 

     ## The streaming endpoint 
     location /streaming { 

      default_type text/html; 
      content_by_lua_file /sbin/http/serve_stream.lua; 

     } 

     ## We can have file extensions in POSTing of /blahendpoints for filesystem 
     ## control HTTP commands 
     location ~ "\.(txt|bin)$" { 

      ... 

     } 

    } 

} 

答えて

1

ありますソリューションの数rewrite ... lastと完全に一致locationブロックは非常に効率的です。

location =/{ 
    rewrite^/some.html last; 
} 

は、より多くのためにthis documentを参照してください。

関連する問題