我创建了一个网站并将其放在Heroku上。然后我在Heroku控制面板中添加了一个自定义域(例如“site.example.com”),并将DNS指向我的Heroku地址。这很好,但是当我访问该网站时,我收到一个大浏览器警告,说该证书是针对herokuapp.com的,而不是针对“site.example.com”。如何关闭HTTPS或以其他方式修复它? (我不需要自己的网站SSL证书。)
注意:如果您的应用强迫用户使用SSL,那么Heroku就不是错了。检查production.rb
以确保它没有说:
config.force_ssl = true
如果是,请将其更改为false:
config.force_ssl = false
答案 0 :(得分:6)
很遗憾,您无法阻止某人尝试通过SSL访问您的网站。也就是说,任何人都可以简单地将https
添加到://site.example.com
的开头。我建议您open a support ticket允许支持团队查看您当前的配置。不幸的是,除非您拥有使用Piggyback SSL插件指定的自己的SSL证书,否则Cedar应用程序*.herokuapp.com
处存在的ssl:endpoint会流失。
事实是,即使Piggyback SSL没有到位,您的访问者在访问您的网站的SSL版本时仍会收到错误。您可以考虑从Namecheap等地方购买一个非常便宜的SSL证书(看起来您可以以8美元/年的价格购买一个超级简单的证书)只是为了摆脱错误。然后,您可以强制重定向到您网站的非SSL版本,一切都很好!
答案 1 :(得分:-1)
这可能不是最好的做法但是如果您迫切想要强制" NO-SSL" ,那么您可以通过JavaScript代码执行以下操作。
window.onload=function(){
$(function(){
if(window.location.protocol==="https:")
window.location.protocol="http";
});
}