2013-04-08 63 views
17

我創建了一個網站並將其放在Heroku上。然後,我在Heroku控制面板中添加了一個自定義域(例如「site.example.com」),並將DNS指向我的Heroku地址。這工作正常,但當我訪問該網站時,我得到一個大的瀏覽器警告,說證書是爲herokuapp.com,而不是「site.example.com」。如何關閉HTTPS或以其他方式解決問題? (我不需要我自己的SSL證書。)如何在Heroku上禁用HTTPS

注意:如果您的應用程序強制用戶進入SSL,這不是Heroku的錯。檢查production.rb以確保它不會說:

config.force_ssl = true 

如果是這樣,將其更改爲false:不幸的是

config.force_ssl = false 

回答

4

,你不能阻止別人試圖通過SSL訪問您的站點。也就是說,任何人都可以簡單地將https添加到://site.example.com開頭。我會建議您open a support ticket允許支持團隊查看您當前的配置。遺憾的是,除非您擁有使用ssl:endpoint加載項指定的自己的SSL證書,否則存在於*.herokuapp.com的針對雪松應用程序的Piggyback SSL會流血。

事實上,即使搭載SSL不在位,訪問者在轉到您的網站的SSL版本時仍會收到錯誤。你可以考慮從Namecheap這樣的地方購買一個非常便宜的SSL證書(看起來你可以拿8美元/年的超級簡單證書)只是爲了擺脫錯誤。然後,您可以強制重定向到您的網站的非SSL版本,一切都很好!

0

這可能不是最佳做法,但如果您迫切想要強制「NO-SSL」,那麼您可以通過以下JavaScript代碼執行此操作。

window.onload=function(){ 
    $(function(){ 
     if(window.location.protocol==="https:") 
      window.location.protocol="http"; 
    }); 
} 
+2

這在Chrome不會工作,因爲heruko只會迫使它回到HTTPS – Photonic 2015-10-27 10:41:17

+0

@Photonic:我在使用它盡我的Heroku [應用](http://webrtc-rts.herokuapp.com/)它確實有效。在Linux機器上使用Chromium 45進行檢查。 – Dwarak 2015-10-30 11:45:27

+0

這不起作用。我使用的是Firefox和Heroku似乎每次都回退到https,並且有一個來自'onload'事件實現的無限循環。 – Jagger 2016-11-15 07:02:29