我試圖規避Heroku的SSL政策,它強制您爲每月20美元的附加費支付費用。瞭解最佳路線是獲得附加組件,我想知道用sinatra無法實現的附加組件嗎?不會向服務器請求證書就像向服務器發送請求並因此被sinatra處理?有什麼不同,使得不可能實現?如何在sinatra上設置SSL證書
回答
因此,如果您通過herokuapp.com域訪問您的應用程序,那麼,heroku over ssl實際上是免費的。如果您想通過自定義域中的ssl爲您的應用提供服務,則只需爲附加組件支付費用。由於heroku應用程序由nginx代理(具有默認的* .herokuapp.com證書),因此在自定義域中創建dns記錄而不購買插件會導致證書不匹配,並在人們試圖訪問您的網站時顯示胖警告。該插件允許您添加自定義證書,以便證書與CNAME記錄匹配。
雖然有一個免費的解決方法,正如@seph所說,Cloudflare對於這種情況非常有用,因爲它是通用SSL提供。如果您在沒有嚴格SSL檢查的情況下將SSL設置爲「完整」並強制執行HSTS(檢查儀表板中的加密標籤),那麼您可以對您的heroku實例執行安全代理,並忽略任何證書不匹配,同時仍然具有完整的端到端加密。
另外,我想,迴應特定的「爲什麼我不能只發送證書使用Sinatra「(這真的是Puma/Unicorn/Webrick /一些其他Rack服務器) - 這是因爲nginx代理,所有通往您應用程序的網絡流量都會通過heroku控制的服務器路由到您的應用程序之前,這是這些證書真正重要的服務器。 – photoionized
那麼理論上我不能把我的自定義域名提供者的證書? – thesecretmaster
@thesecretmaster - 域名提供商是指你的DNS提供商嗎? DNS和代理服務器是兩個完全不同的東西 - Cloudflare恰好恰好將兩者與通用SSL混合在一起。如果你想在沒有Cloudflare之類的情況下做到這一點,你可以將證書放在你自己的代理服務器上,並讓它工作,但此時你必須擁有一臺你擁有和管理的服務器......這樣的失敗使用Heroku的目的... – photoionized
- 1. 爲Stripe設置SSL證書(在Wordpress上)
- 2. 如何使用ssl證書設置iis?
- 3. 如何爲Express v4.13設置SSL證書?
- 4. lua nginx ssl證書設置
- 5. SslStream的SSL證書設置
- 6. 如何在單個網頁上設置2個SSL證書
- 7. SSL證書:如何設置CA來處理證書鏈?
- 8. 如何爲Heroku上的Resque設置SSL證書?
- 9. SSL證書配置
- 10. 如何在Sinatra中設置驗證?
- 11. ssl設置需要證書和開發
- 12. appcmd設置站點的SSL證書
- 13. 設置Java SSL ServerSocket使用的證書
- 14. SSL設置:忽略客戶端證書
- 15. Apache反向代理設置SSL證書
- 16. 設置SSL(自簽名證書)和Tomcat
- 17. 如何在.NET中爲SSL連接設置測試證書?
- 18. 無法在NodeJS/expressJS上設置簽名SSL證書
- 19. 在Tomcat上設置ssl證書:無效鏈
- 20. Powershell - 在https綁定上設置SSL證書
- 21. 在IIS7上設置Wilcard SSL證書無主機標題
- 22. 如何配置默認SSL證書在Windows Azure上
- 23. 如何在Tomcat 6上配置SSL證書?
- 24. 如何在Heroku上配置基於主機名的ssl證書?
- 25. 如何在python中驗證SSL證書?
- 26. 如何啓用和接受HTTPS連接並在GCE上設置SSL證書
- 27. 如何鏈接SSL證書
- 28. 如何設置本地SSL證書和Rails應用程序?
- 29. 如何設置沒有SSL證書的定期付款選項?
- 30. ASP.NET Core + IIS Express如何設置SSL證書
請在下面檢查鏈接,它可能會對您有所幫助。 http://stackoverflow.com/questions/3696558/how-to-make-sinatra-work-over-https-ssl – rajeev