2017-08-14 88 views
1

我最近在AWS託管的WordPress網站上安裝了SSL,並且我的命名域不再有效。SSL上的裸域失敗重定向

https:// example.com,https:// www.example.com,www.example.com都按預期工作。

example.com不工作。 example.com引發連接拒絕錯誤。

的設置:

  • WordPress的主機是在單個AWS EC2安裝關閉bitnami AMI。 EC2位於經典負載均衡器之後。
  • SSL證書在AWS證書管理器管理,並頒發給* .example.com的,example.com和www.example.com
  • DNS使用路由53:www.doamin.com和domain.com有A記錄該點到同一負載平衡器的別名
  • .htacces已修改與重寫規則^(。*)$ https://example.com/ $ 1 [R,L]

我該怎麼做來得到這個工作?

+0

你確定http://www.example.com正在工作中......嘗試使用不同的瀏覽器和「telnet www.example.com 80」。什麼是你看到的確切的錯誤信息,在哪裏? –

+0

您的權限,兩個不安全都不工作.C:\> telnet www.example.com 80 正在連接到www.example.com ...無法在端口80上打開與主機的連接:連接失敗。 – tjrburgess

+0

我的重寫規則是: RewriteEngine敘述在 的RewriteCond%{SERVER_PORT} 443 重寫規則^ $ HTTPS(*)://您的域/ $ 1 [R,L] tjrburgess

回答

1

HTTPS確實有效,所以問題不在於DNS。你提到一個負載平衡器。 Connection Refused錯誤表示您的請求未將其發送到負載平衡器或被負載平衡器接受。

檢查安全組的負載平衡器,並確保允許使用port 80 inbound

檢查您的負載均衡器是否有listener on port 80

如果您在負載均衡器的公有子網上修改了NACL(網絡訪問控制列表),那麼您將需要允許80 inbound and everything outbound。默認的NACL規則已經允許這樣做。

另外,我注意到您正在終止負載平衡器上的SSL(因爲您正在使用ACM證書)。根據您的配置,這可能意味着您正在將端口80上未加密的請求轉發到您的Web服務器。如果是這樣,那麼您的重寫規則將無法正確檢測到HTTPS的使用。 AWS has some documentation更詳細地解釋了這一點。

+0

你的權利。這是一個聽衆問題。將HTTP端口80添加到負載均衡器偵聽器已修復它。 – tjrburgess