2014-12-09 3 views
8

Heroku (EU 지역)에서 실행중인 레일 앱에 대해 SSL 연결을 시행하는 데 어려움을 겪고 있습니다.EU 지역에서 Heroku 앱을 실행하도록 SSL을 적용하십시오.

내가 추가 한 인증서 (INC에게 Heroku의 SSL 부가 기능)을 성공적으로 사용자 정의 도메인 (I 명시 적으로 HTTPS 상태 경우 : //..com를가 완벽하게 작동)

하지만 모든 리디렉션 할 HTTP https 연결 요청

미국 지역의 앱의 경우 맞춤 도메인 DNS 레코드를 .herokussl.com이 아닌 .herokuapp.com으로 지정해야합니다. 문서 : https://devcenter.heroku.com/articles/ssl-endpoint#dns-and-domain-configuration

EU 지역 앱의 경우 맞춤 DNS 기록은 기본적으로 SSL 연결을 시행하지 않는 .herokuapp.com을 가리켜 야합니다.

그러므로 제 질문은 : 유럽에서 실행중인 Heroku 응용 프로그램에 대한 모든 연결을 SSL을 통해 강제 실행하려면 어떻게해야합니까?

답변

25

이 HTTPS에

편집 모든 HTTP 트래픽을 리디렉션합니다

Rails.application.configure do 
    config.force_ssl = true 
end 

production.rb : 이것은 Heroku가보다 오히려 레일 일이라고 지적 그것의 가치를.

수정 :

정기적으로 보이고 upvoted 도착이 답변/질문으로

, 그것은이 요청별로 컨트롤러 내에도 가능하다는 것을 주목할 필요가 :

class AccountsController < ApplicationController 
    force_ssl if: :ssl_configured? 

    def ssl_configured? 
    !Rails.env.development? 
    end 
end 
+0

내가 찾고있는 것입니다. 감사! –

1

은 참고 귀하의 질문은 herokussl.com을 언급 이 서비스는 더 이상 지원되지 않는 Heroku SSL Endpoint 서비스의 일부입니다. 이제 Heroku는 Heroku SSL 서비스를 사용할 것을 권장합니다.

SSL 끝점 추가 기능은 SNI를 지원하지 않는 레거시 브라우저 클라이언트를 지원해야하는 경우에만 권장됩니다. 우리의 기본 권장 사항은 this document에 설명 된 Heroku SSL을 사용하는 것입니다.

또한 appname.herokuapp.com 도메인은 이미 SSL을 사용할 수 있으며 https를 사용하여 액세스 할 수 있습니다 (예 : https://appname.herokuapp.com).

관련 문제