[Rails] Microsoft Teams 탭에 Redmine 표시
Teams 탭에 Redmine을 표시하고 싶습니다.
Teams에는 모든 웹 사이트를 탭에 표시하는 기능이 있습니다.
그러나 할 수 없다.
Rails 앱은 기본적으로 X-Frame-Options: SAMEORIGIN
헤더를 출력하기 때문에 iframe
를 사용하는 Team 탭에는 표시되지 않습니다.
HTTP 헤더 변경
Rails 앱이 출력하는 HTTP 헤더는/usr/lib/ruby/vendor_ruby/action_dispatch/railtie.rb로 설정되어 있습니다.
config.action_dispatch.default_headers = {
'X-Frame-Options' => 'SAMEORIGIN',
'X-XSS-Protection' => '1; mode=block',
'X-Content-Type-Options' => 'nosniff'
}
이것을 다시 쓰는 것은 난폭하므로 Redmine 설정으로 덮어 씁니다.
/usr/share/redmine/config/additional_environment.rb 파일을 만듭니다.
config.action_dispatch.default_headers = {
'Content-Security-Policy' => 'frame-src https://teams.microsoft.com/',
'X-XSS-Protection' => '1; mode=block',
'X-Content-Type-Options' => 'nosniff'
}
X-Frame-Options
대신 Content-Security-Policy
를 설정했습니다.
Teams 전체에서 iframe 사용할 수 버립니다만, 없는 것보다는 몹시일까.
Apache 재부팅
설정을 사용합니다.
systemctl restart apache2
환경
config.action_dispatch.default_headers = {
'X-Frame-Options' => 'SAMEORIGIN',
'X-XSS-Protection' => '1; mode=block',
'X-Content-Type-Options' => 'nosniff'
}
config.action_dispatch.default_headers = {
'Content-Security-Policy' => 'frame-src https://teams.microsoft.com/',
'X-XSS-Protection' => '1; mode=block',
'X-Content-Type-Options' => 'nosniff'
}
systemctl restart apache2
링크
Reference
이 문제에 관하여([Rails] Microsoft Teams 탭에 Redmine 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sengoku/items/2304472a20d0fcccf8e4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)