Proxy 뒤에서 SonarQube 서버를 보호하기
Official SonarQube Doc Link: Securing the Server Behind a Proxy
이 섹션은 Proxy 뒤에서 SonarQube 서버를 운영하기 위한 설정을 가이드합니다. 보안상의 이유 혹은 복수의 분리된 어플리케이션을 함께 사용하기 위해 본 섹션에 가이드 된 내용의 설정이 필요할 수 있습니다.
Table of Contents
서버 설정
SonarQube 서버를 HTTPS 프로토콜 상에서 실행하기 위해서는 표준적인 리버스 프록시 인프라스트럭처를 만들어야 합니다. 리버스 프록시는 모든 HTTP 요청 헤더에서 \"X\_FORWAREDED\_PROTO: https:\"로 설정되어야 합니다. 이 속성이 없는 경우, SonarQube에서 보내는 리다이렉션은 HTTP로 떨어집니다.
아파치 프록시 사용하기
다음의 상황을 가정합니다:
- Apache 2 를 module mode_proxy로 설치 완료
- SonarQube 서버는 http://private_sonar_host:sonar_port/에서 실행 중
- www.public_sonar.com로 virtual host 설정 완료
www.public\_sonar.com virtual host의 HTTPd 환경 설정 파일을 수정합니다. 다음 내용을 포함시켜 SonarQube를 mod\_proxy를 통해 http://www.public\_sonar.com/에 접근할 수 있도록 합니다:
ProxyRequests Off ProxyPreserveHost On <VirtualHost *:80> ServerName www.public_sonar.com ServerAdmin admin@somecompany.com ProxyPass / http://private_sonar_host:sonar_port/ ProxyPassReverse / http://www.public_sonar.com/ ErrorLog logs/somecompany/sonar/error.log CustomLog logs/somecompany/sonar/access.log common </VirtualHost>
Apahce 환경 설정은 여러분이 사용하는 어플리케이션의 요구사항과, SonarQube를 외부로 노출시키기 원하는 방법에 따라 달라질 수 있습니다. Apache HTTPd와 mod_proxy에 대한 세부적인 내용은 http://httpd.apache.org를 참조합니다.
Nginx 사용하기
다음의 상황을 가정합니다:
- - Nginx 설치 완료
- - www.somecompany.com으로 Virtual Host 운영 중
- - SonarQube는 http://sonarhost:sonarport/에서 운영 중
Nginx 환경 파일을 수정합니다. http://www.somecompany.com/를 통해 SonarQube에 접근하기 위해 다음 내용을 추가합니다.
# the server directive is nginx's virtual host directive server { # port to listen on. Can also be set to an IP:PORT listen 80; # sets the domain[s] that this vhost server requests for server_name www.somecompany.com; location / { proxy_pass http://sonarhost:sonarport; } }
Nginx 환경 설정은 여러분의 어플리케이션 요구사항, SonarQube를 외부로 노출시키기 원하는 방법에 따라 달라질 수 있습니다. Nginx와 관련된 세부적인 내용은 https://www.nginx.com/resources/admin-guide/reverse-proxy/를 참조합니다.
Sonarqube는 2048자 이상의 URL을 요청하는 경우가 있으므로 max URL length를 늘려야 할 수 있습니다.
IIS 사용하기
http://blog.jessehouwing.nl/2016/02/configure-ssl-for-sonarqube-on-windows.html를 참조합니다.
© 2017-2018 Moses Kim.
별도의 언급이 없는 한, 이 스페이스의 컨텐츠는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
SONARQUBE는 SonarSource SA의 트레이드 마크입니다. 모든 트레이트 마크 및 저작권은 각 소유자의 소유물입니다.
::: SonarQube 관련 문의 : 이메일 :::