2013-04-08 16 views
17

Stworzyłem witrynę i umieściłem ją na Heroku. Następnie dodałem niestandardową domenę (np. "Site.example.com") w panelu kontrolnym Heroku i wskazałem DNS na mój adres Heroku. Działa to dobrze, ale kiedy odwiedzam tę stronę, otrzymuję ostrzeżenie o dużej przeglądarce, mówiąc, że certyfikat dotyczy herokuapp.com, a nie "site.example.com". Jak wyłączyć HTTPS lub naprawić go w jakiś inny sposób? (Nie potrzebuję własnego certyfikatu SSL dla witryny.)Jak wyłączyć HTTPS na Heroku

Uwaga: To nie jest wina Heroku, jeśli twoja aplikacja zmusza ludzi do używania SSL. Sprawdzić production.rb aby upewnić się, że nie mówi:

config.force_ssl = true 

Jeśli tak, zmień go na false:

config.force_ssl = false 

Odpowiedz

4

Niestety, nie można uniemożliwić próby uzyskania dostępu do witryny za pośrednictwem protokołu SSL . Oznacza to, że każdy może po prostu dodać https do początku ://site.example.com. Polecam open a support ticket, aby umożliwić zespołowi pomocy technicznej sprawdzenie aktualnej konfiguracji. Niestety, Piggyback SSL, który istnieje w *.herokuapp.com dla aplikacji Cedar, wykrwawia się, chyba że masz własny certyfikat SSL, który jest określony przy użyciu dodatku ssl:endpoint.

Faktem jest, że nawet jeśli Piggyback SSL nie byłby zainstalowany, użytkownicy nadal otrzymywaliby błąd podczas przechodzenia do wersji SSL Twojej witryny. Możesz rozważyć zakup poważnie taniego certyfikatu SSL z jakiegoś miejsca, takiego jak Namecheap (wygląda na to, że możesz odebrać super prosty certyfikat za 8 USD rocznie), aby pozbyć się błędów. Następnie możesz wymusić przekierowanie do wersji witryny bez SSL i wszystko jest dobrze!

0

To może nie być najlepsza praktyka, ale jeśli z całą pewnością chcesz wymusić "NO-SSL", możesz to zrobić za pomocą kodu JavaScript w następujący sposób.

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

To przyzwyczajenie praca na Chrome, jak heruko po prostu zmusić go do https – Photonic

+0

@Photonic: Próbowałem, używając go w moim Heroku [aplikacja] (http://webrtc-rts.herokuapp.com/) i zadziałało. Sprawdzono przy użyciu Chromium 45 na komputerze z systemem Linux. – Dwarak

+0

To nie działa. Używam Firefoksa i Heroku zdaje się wracać za każdym razem do httpsa i istnieje nieskończona pętla pochodząca z takiej implementacji zdarzenia 'onload'. – Jagger