
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 サービスを更新する必要があります。
/lib/systemd/system/jenkins.service
テキストエディタで開きます。- Jenkins リスニング アドレス環境変数を含む行を見つけます。
#Environment="JENKINS_LISTEN_ADDRESS="
- コメントを削除し、変数値をローカル IP で更新します。
Environment="JENKINS_LISTEN_ADDRESS=127.0.0.1"
- ファイルを保存し、systemd ユニット ファイルをリロードします。
systemctl daemon-reload
- Jenkinsを再起動します。
systemctl restart jenkins
Jenkins は現在 localhost で listen しているはずです:
$ netstat -plunt | grep 8080
tcp6 0 0 127.0.0.1:8080 :::* LISTEN 11661/java