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 떨어집니다.

아파치 프록시 사용하기

다음의 상황을 가정합니다:

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 환경 파일을 수정합니다. 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 관련 문의 : 이메일 :::