Jenkins への 8080 外部アクセスを無効にする方法は?

Jenkins への 8080 外部アクセスを無効にする方法は?

Ubuntu 21 マシンに Jenkins とともに nginx をインストールしました。

この手順を使用して、80トラフィックを8080にリダイレクトするようにnginxを構成しましたリンク

これで、トラフィックを 80 から 8080 にリダイレクトできるようになりました。したがって、外部から 8080 から Jenkins への直接アクセスを無効にします。/etc/default/jenkins の引数を変更して、行 --httpListenAddress=127.0.0.1 を追加します。

現在、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 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. Jenkinsを再起動します。systemctl restart jenkins

Jenkins は現在 localhost で listen しているはずです:

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

関連情報