Nginx를 리버스 프록시로 사용 시 Content Security Policy 문제

nginx를 리버스 프록시로 사용하면서 style-src를 설정하는 올바른 문법을 알아낸 분 계신가요?

CSP를 위한 작동하는 CSP 헤더 추가 설정을 보고 싶습니다.

이미지는 모더레이터에게 감사드립니다.

스크린샷에서 Discourse가 default-src 'self' 헤더를 전송하지 않는 것으로 보입니다. 따라서 NGINX 프록시 설정에서 이 헤더가 추가되고 있을 가능성이 매우 높습니다. 해당 설정을 공유해 주시겠어요? (민감한 정보는 마스킹 처리해 주세요)

네, 제 add_header Content Security Policy default-src ‘self’;에 정확히 그렇게 설정되어 있습니다.

지금 온라인으로 직접 접속해서 확인을 해볼 수가 없습니다.

style-src를 설정하고 추가해서 오류를 없앨 수 있는 방법을 찾지 못하고 있습니다.

Discourse는 자체 CSP 헤더를 설정합니다. 따라서 직접 추가할 필요가 없습니다.

따라서 NGINX 설정에서 이 라인을 제거하거나, Discourse를 제외하는 조건을 추가해야 합니다.

네, 그렇게 해봤는데 같은 문제가 발생합니다.

테스트로 unsafe-inline도 추가해 봤는데, 로그인 렌더링과 그룹 아바타 관련해서 여전히 같은 문제가 있습니다.

정책을 주석 처리하면 모든 것이 정상적으로 작동하네요..

좋네요. NGINX 설정을 주석 처리하면 Discourse가 설정한 CSP 헤더가 통과되겠죠 :tada:

그렇게 해 보고 securityheaders.com에서 어떤 결과가 나오는지 확인해 보겠습니다. 곧 돌아올게요…

잘 작동합니다. nginx.conf에서 CSP를 제거하고 Discourse가 처리하도록 했습니다. 헤더 평가 A+.

도대체 왜 기본 설정 그대로 사용하지 않고 nginx 설치와 리버스 프록시를 선택했는지 기억이 나질 않습니다.