Как отключить внешний доступ 8080 к jenkins?

Как отключить внешний доступ 8080 к jenkins?

Я установил nginx вместе с jenkins на машину с Ubuntu 21.

Настроил nginx для перенаправления трафика 80 на 8080, следуя инструкциям в этом руководстве.связь

Теперь можно перенаправить трафик с 80 на 8080. Итак, чтобы отключить прямой доступ к jenkins с 8080 извне. Изменил аргументы в /etc/default/jenkins, добавив строку --httpListenAddress=127.0.0.1

Теперь строка аргументов Дженкинса выглядит следующим образом.

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 systemd, чтобы достичь своей цели:

  1. Открыть /lib/systemd/system/jenkins.serviceчерез текстовый редактор.
  2. Найдите строку, содержащую переменную среды адреса прослушивания Jenkins:#Environment="JENKINS_LISTEN_ADDRESS="
  3. Удалите комментарий и обновите значение переменной, указав локальный IP-адрес:Environment="JENKINS_LISTEN_ADDRESS=127.0.0.1"
  4. Сохраните файл и перезагрузите файлы модулей systemd:systemctl daemon-reload
  5. Перезапустите Дженкинс:systemctl restart jenkins

Теперь Jenkins должен прослушивать localhost:

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

Связанный контент