Jenkins에 대한 8080 외부 액세스를 비활성화하는 방법은 무엇입니까?

Jenkins에 대한 8080 외부 액세스를 비활성화하는 방법은 무엇입니까?

우분투 21 시스템에 jenkins와 함께 nginx를 설치했습니다.

이 단계를 사용하여 80 트래픽을 8080으로 리디렉션하도록 nginx를 구성했습니다.링크

이제 트래픽을 80에서 8080으로 리디렉션할 수 있습니다. 따라서 외부에서 8080에서 jenkins에 대한 직접 액세스를 비활성화합니다. --httpListenAddress=127.0.0.1 줄을 추가하도록 /etc/default/jenkins의 인수를 변경했습니다.

이제 젠킨스 인수 라인은 다음과 같습니다.

JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --httpListenAddress=127.0.0.1"

그런 다음 머신을 다시 시작했지만 여전히 8080 포트로 직접 액세스할 수 있습니다.

이를 달성하는 방법을 제안하십시오.

azureuser@jenkins:~$ ss -lnpt
State         Recv-Q        Send-Q               Local Address:Port               Peer Address:Port       Process
LISTEN        0             511                        0.0.0.0:80                      0.0.0.0:*
LISTEN        0             4096                 127.0.0.53%lo:53                      0.0.0.0:*
LISTEN        0             128                        0.0.0.0:22                      0.0.0.0:*
LISTEN        0             4096                             *:3000                          *:*
LISTEN        0             50                               *:8080                          *:*
LISTEN        0             128                           [::]:22                         [::]:*

azureuser@jenkins:~$ ps auxw | grep jenkins
jenkins     6761  0.1 11.8 3036280 416756 ?      Ssl  Mar29   8:08 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
azureus+   86025  0.0  0.0   8548  2356 pts/0    S+   19:09   0:00 grep --color=auto jenkins

답변1

/etc/default/jenkinsJenkins 명령줄에 어떤 이유로 설정된 옵션이 포함되어 있지 않습니다 .

JENKINS_ARGS이 (가) 정확하고 옵션이 포함되어 있는지 다시 확인하세요 . Jenkins를 다시 시작해 보세요.

답변2

에 따르면이것답변, /etc/default/jenkins최신 Jenkins 버전에서는 파일이 더 이상 사용되지 않습니다. 목표를 달성하려면 Jenkins 시스템 서비스를 업데이트해야 합니다.

  1. 텍스트 편집기를 통해 엽니다 /lib/systemd/system/jenkins.service.
  2. Jenkins 수신 주소 환경 변수가 포함된 줄을 찾습니다.#Environment="JENKINS_LISTEN_ADDRESS="
  3. 주석을 제거하고 변수 값을 로컬 IP로 업데이트합니다.Environment="JENKINS_LISTEN_ADDRESS=127.0.0.1"
  4. 파일을 저장하고 시스템 단위 파일을 다시 로드합니다.systemctl daemon-reload
  5. Jenkins를 다시 시작합니다.systemctl restart jenkins

Jenkins는 이제 localhost에서 듣고 있을 것입니다.

$ netstat -plunt | grep 8080
tcp6       0      0 127.0.0.1:8080          :::*                    LISTEN      11661/java

관련 정보