2017-10-30 6 views
1

httpsにリダイレクトされたときに、単一のリソースに対するHTTPを許可します。httpsnginxのは、デフォルトではに、すべてのHTTP要求にリダイレクトするために、私は私のnginxのを構成し

server { 
    server_name url.net; 
    listen 80 ; 
    access_log /var/log/nginx/access.log vhost; 
    return 301 https://$host$request_uri; 
} 
server { 
    server_name url.net; 
    listen 443 ssl http2 ; 
    .... 
} 

私は、プレーンHTTPが要求を取得できるようにしたいurl.net/file.xml 1つの特定のリソースがありますリダイレクトなし。

どうすればnginxで設定できますか?

答えて

0

returnステートメントをlocationブロックに置き、URI例外の完全一致locationブロックを追加します。詳細はthis documentを参照してください。例えば

server { 
    server_name url.net; 
    listen 80 ; 
    access_log /var/log/nginx/access.log vhost; 

    location/{ 
     return 301 https://$host$request_uri; 
    } 
    location = /file.xml { 
     root /path/to/directory; 
    } 
} 

注意あなたがセキュアなサイトにHTTP Strict Transport Securityヘッダを持っている場合、これはない動作すること。

関連する問題