2013-10-29 65 views
0

目前,我有nginx的與供應HTTP和HTTPS單個站點配置,使用兩個listen指令:我該如何讓nginx需要一個位置的HTTPS,同時讓所有其他位置都可選?

listen 80 default_server; 
listen 443 ssl; 

我想使用這個配置的網站內的所有位置;然而,只有我想要求HTTPS的位置。

location/{ 
    // Both HTTP and HTTPS 
} 

location /admin { 
    // Require HTTPS 
} 

我該怎麼做呢?是否需要單獨的HTTP和HTTPS服務器配置?

回答

0

我拆那些2臺服務器

server { 
    listen 80; 
    server_name example.com www.example.com; 

    location/{ 
     #normal config 
    } 

    location /admin { 
     return 301 https://$http_host$request_uri; 
    } 
} 

server { 
    listen 443 ssl; 
    server_name example.com www.example.com; 

    location/{ 
     #normal config for frontend 
    } 

    location /admin { 
     #admin settings 
    } 
} 

您可以在兩臺服務器上,而不是每次都重寫時的常見的配置劃分爲一個單獨的文件,並將其納入你改變任何東西

相關問題