1

도메인에서 iFrame을 통해 내 Rails 애플리케이션을 볼 수 있도록하고 싶습니다.Heroku에 배포 된 Rails 4 앱에서 응답 헤더 구성

config.action_dispatch.default_headers = { 
    'X-Frame-Options' => 'ALLOWALL' 
} 

: http://edgeguides.rubyonrails.org/security.html#default-headers

그래서,이 솔루션은 application.rb에 넣고하는 것입니다 : 여기에 설명 된대로 레일 4에서

은 다른 도메인의 X 프레임에 대한 보호가 이것은 내 로컬 서버와 Heroku 모두 잘 작동합니다. 그러나 모든 도메인의 iframe을 사용하여 웹 응용 프로그램의 모든보기가 노출되도록 노출합니다.

그리고 iframe보기 만 노출하고 싶습니다.

def iframe 
    response.headers["X-Frame-Options"] = "ALLOWALL" 

... 

end 

을 그리고 그것은 내 로컬 서버에서 잘 작동 : 그래서, 대신 이전 솔루션, 나는 단지 내가 iframe이보기를 생성하는 데 사용하는 controllet 내에서 헤더를 구성했습니다. 하지만 Heroku에 업로드 할 때 작동하지 않습니다.

두 번째 솔루션이 왜 Heroku에서 작동하지 않는지 아는 것이 있습니까?

당신이

+0

참조 [이] (HTTP를 : // 유래를 .com/questions/18445782/how-to-override-x-frame-options-a-controller-or-action-in-rails-4) 질문. –

+0

감사합니다. @ manu29.d, 귀하가 추천 한 페이지에서 해결책을 얻었습니다. 이제 ** after_action **이라는 메서드를 사용하고 Heroku에서도 작동합니다. – idejuan

답변

1

this 대답에서 힌트를 복용 감사, 당신은 after_action 콜백에서 헤더를 설정할 수 있습니다 :

after_action :allow_iframe, only: :iframe 

def iframe 
    #your code 
end 

private 

def allow_iframe 
    response.headers['X-Frame-Options'] = "ALLOWALL" 
end 

after_action