我第一次設置了Web服務器,並試圖使HTTPS正常工作。我從Let's Encrypt獲得了證書,並且該網站將以HTTPS加載。我已經設置了配置重定向所有HTTP到HTTPS下列功能塊:當重定向到https時,Nginx無法從根服務https
server {
listen 80;
server_name sulphate.me;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name sulphate.me;
ssl_certificate /etc/letsencrypt/live/sulphate.me/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/sulphate.me/privkey.pem;
add_header Strict-Transport-Security "max-age=31536000";
}
然而,當我連接到站點(sulphate.me),它只是給我的「歡迎使用nginx的!」頁。因爲我將它設置爲返回301,我的瀏覽器現在總是進入永久重定向。
在添加這些塊之前,它從/ var/www/html中提供了良好的內容,但它現在完全沒有。首先,爲什麼它不再提供內容,其次我怎麼才能修復永久重定向,因爲它不工作?
在此先感謝。
編輯:當我刪除塊並等待一段時間,它現在正常服務的內容。就在我重定向的時候,它就搞砸了。編輯2:現在,當我嘗試通過地址欄手動轉到HTTPS時,它會給我錯誤521(Web服務器關閉),當它顯然不是。
編輯3:Certificate Information,CloudFlare的加密設置(1,2),Nginx SSL-Related Config Settings
而只是爲了澄清,並沒有在我的配置,當我收到了521,他們現在已經被重新添加這些塊和原始問題仍然會發生(不在HTTPS上從根服務)。
我很確定我的網站上的證書不是Cloudflare的。它由'COMODO CA有限公司'擁有。另外抱歉不清楚,在收到521時,重定向塊不在配置中。我從多個來源進行了研究,發現這些塊對於將HTTP連接永久重定向到HTTPS是正確的,但它不會從HTTPS提供任何網頁。謝謝。 (我添加了該帖子的鏈接) – Sulphate
@Sulphate自從我寫了這個答案後,網站的行爲發生了變化。 – vcsjones
是的我意識到,我重新添加了將HTTP重定向到HTTPS的塊。 (這是我想解決的原始問題:)) – Sulphate