Nginx 역방향 에이전트 Jenkins 설정 방법

글 목록
  • Nginx 의 jenkins - site. conf 부분 설정
  • Windows JNLP slaves 가 Nginx 를 통 해 Jenkins 에 연결 할 수 없 는 문 제 를 해결 합 니 다
  • Nginx 의 jenkins - site. conf 부분 설정
    		location ^~ /jenkins/ {
    			proxy_pass http://localhost:8080;
    
    			sendfile off;	 
    			proxy_set_header   Host             	$host:$server_port;
    			proxy_set_header   X-Real-IP			$remote_addr;
    			proxy_set_header   X-Forwarded-For		$proxy_add_x_forwarded_for;
    			
    			// Be sure to set the X-Forwarded-Proto header if your reverse proxy is accessed via HTTPS and then Jenkins itself is accessed via HTTP i.e. proxying HTTPS to HTTP.
    			proxy_set_header   X-Forwarded-Proto	$scheme;
    			proxy_redirect	   http:// 				https://;
    	    }
    

    윈도 JNLP slaves 가 Nginx 를 통 해 Jenkins 에 연결 할 수 없 는 문 제 를 해결 합 니 다.
    Nginx 가 TCP 프로 토 콜 을 전송 할 수 없 기 때문에 윈도 JNLP slaves 가 Jenkins 의 실제 주 소 를 직접 보 내 도록 요청 해 야 합 니 다.구체 적 인 절 차 는 다음 과 같다.
    시스템 변 수 를 통 해 Jenkins 행동 을 변경 하여 hudson. TcpSlaveAgent Listener. hostName 이 Jenkins (Nginx 가 아 닌) 가 있 는 서버 주소 로 설정 되 었 는 지 확인 합 니 다.
    export JENKINS_HOME=/data/jenkins-home/
    nohup java \
    -Dhudson.TcpSlaveAgentListener.hostName=192.168.1.110 \
    -jar jenkins.war.jar --prefix=/jenkins > nohup.out 2>&1 &
    

    설정 이 완료 되면 Jenkins 의 모든 페이지 (보 내 거나 응답 하 는 HTTP 요청) 에는 상기 정 보 를 포함 하 는 추가 HTTP header (X - Jenkins - CLI - Host) 가 있 습 니 다. 이 정 보 는 Windows JNLP slaves 에 올 바른 TcpSlaveAgent Listener 주 소 를 연결 합 니 다.

    좋은 웹페이지 즐겨찾기