Как отключить HTTPS на Heroku
Я создал сайт и разместил его на Heroku. Затем я добавил пользовательский домен (например, "site.example.com") в панели управления Heroku и указал DNS на свой адрес Heroku. Это работает нормально, но когда я захожу на сайт, я получаю большое предупреждение браузера, в котором говорится, что сертификат предназначен для herokuapp.com, а не для "site.example.com". Как отключить HTTPS или исправить это другим способом? (Мне не нужен собственный сертификат SSL для сайта.)
Примечание. Это не вина Heroku, если ваше приложение заставляет людей использовать SSL. Проверьте production.rb
чтобы убедиться, что это не говорит:
config.force_ssl = true
Если это так, измените его на false:
config.force_ssl = false
2 ответа
К сожалению, вы не можете предотвратить попытки доступа к вашему сайту через SSL. То есть любой может просто добавить https
к началу ://site.example.com
, Я бы порекомендовал вам открыть заявку в службу поддержки, чтобы позволить службе поддержки изучить вашу текущую конфигурацию. К сожалению, Piggyback SSL, который существует на *.herokuapp.com
для приложений Cedar не работает, если у вас нет собственного SSL-сертификата, указанного с помощью дополнения ssl: endpoint.
Дело в том, что даже если Piggyback SSL не был установлен, ваши посетители все равно получат сообщение об ошибке при переходе на версию SSL вашего сайта. Вы можете купить действительно дешевый SSL-сертификат в каком-то месте, например, в Namecheap (похоже, вы можете купить супер-простой сертификат за 8 долларов США в год) ПРОСТО, чтобы избавиться от ошибок. Затем вы можете принудительно перенаправить на не-SSL версию вашего сайта, и все будет хорошо!
Возможно, это не лучшая практика, но, тем не менее, если вы отчаянно хотите использовать "NO-SSL", вы можете сделать это с помощью кода JavaScript следующим образом.
window.onload=function(){
$(function(){
if(window.location.protocol==="https:")
window.location.protocol="http";
});
}