[英]Nginx redirect root domain which is not in SSL certificate
我有一個* .example.com的SSL通配符證書,該證書對根域無效。 我想要Ubuntu 14.04上的Nginx
通過復制下面的配置,我設法實現了1和2。
server {
#listen 80;
#isten 443;
return 404;
}
server {
listen 80;
server_name example.com www.example.com;
return 301 https://www.example.com$request_uri;
}
server {
listen 443 ssl;
#certificate and key referenced in common.conf
server_name www.example.com;
root /usr/share/nginx/html/example.com;
index index.php index.html index.htm;
include common/common.conf;
}
當我從上面的第二行和第三行刪除注釋標記時,希望僅對https://example.com返回404-沒有任何效果。 例如,我在Chrome中對於https://www.example.com/和http://ww.example.com/都獲得ERR_CONNECTION_CLOSED。
我應該怎么做才能一起實現1),2)和3)?
非常感謝。
... *。example.com的通配符證書,對於根域無效...僅在端口443上為根域返回404,例如,如果reuqest是https://example.com
這是不可能的。 使用https,HTTP響應將在URL中為主機建立的TLS連接內生成。 因此,要返回404以訪問https://example.com,您必須首先具有經過驗證的TLS連接。 但是,由於證書中不包含example.com,因此在嘗試建立TLS連接時會收到驗證錯誤,因此無法成功建立TLS連接,並且在連接內部無法返回404。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.