
우분투 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/jenkins
Jenkins 명령줄에 어떤 이유로 설정된 옵션이 포함되어 있지 않습니다 .
JENKINS_ARGS
이 (가) 정확하고 옵션이 포함되어 있는지 다시 확인하세요 . Jenkins를 다시 시작해 보세요.
답변2
에 따르면이것답변, /etc/default/jenkins
최신 Jenkins 버전에서는 파일이 더 이상 사용되지 않습니다. 목표를 달성하려면 Jenkins 시스템 서비스를 업데이트해야 합니다.
- 텍스트 편집기를 통해 엽니다
/lib/systemd/system/jenkins.service
. - Jenkins 수신 주소 환경 변수가 포함된 줄을 찾습니다.
#Environment="JENKINS_LISTEN_ADDRESS="
- 주석을 제거하고 변수 값을 로컬 IP로 업데이트합니다.
Environment="JENKINS_LISTEN_ADDRESS=127.0.0.1"
- 파일을 저장하고 시스템 단위 파일을 다시 로드합니다.
systemctl daemon-reload
- Jenkins를 다시 시작합니다.
systemctl restart jenkins
Jenkins는 이제 localhost에서 듣고 있을 것입니다.
$ netstat -plunt | grep 8080
tcp6 0 0 127.0.0.1:8080 :::* LISTEN 11661/java