我怎样才能让詹金斯停止监听远程连接?

我怎样才能让詹金斯停止监听远程连接?

我让 Jenkins 位于 Nginx 后面,由 Nginx 负责身份验证,但 Jenkins 仍然在外部监听端口 8080,因此通过访问端口 8080 上的框,人们可以绕过 Nginx。

我怎样才能告诉它停止监听远程连接并只在本地接受连接?

它看起来可能与这个 ajp13ListenAddress 参数有关,但我不知道如何在与 Jenkins 一起安装的 init.d 脚本中设置它。

非常感谢您的帮助!

鲁多。

(看起来还没有 Jenkins 标签,而且我无法创建它,因为我没有代表)

答案1

Debian

如果你从 Debian 包安装了 Jenkins,那么你可以/etc/default/jenkins在某处修改并添加以下行:

HTTP_HOST=127.0.0.1

然后添加--httpListenAddress=$HTTP_HOST到 JENKINS_ARGS 使其读取类似以下内容:

JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --httpListenAddress=$HTTP_HOST"

Ubuntu

如果你从 Ubuntu Oneiric (11.10) 包安装了 Jenkins,请编辑/etc/init/jenkins.conf并添加--httpListenAddress=127.0.0.1以下JENKINS_ARGS行,使其内容如下:

JENKINS_ARGS="--webroot=$JENKINS_RUN/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --httpListenAddress=127.0.0.1"

RedHat/CentOS/Amazon Linux

如果你使用 YUM 存储库安装了 Jenkins,请修改/etc/sysconfig/jenkins并编辑JENKINS_LISTEN_ADDRESSJENKINS_LISTEN_ADDRESS=127.0.0.1

答案2

Debian 11 来自Jenkins 软件包 APT 存储库

编辑配置。

sudo systemctl edit jenkins

在两个评论部分之间添加以下内容。

[Service]
Environment="JENKINS_LISTEN_ADDRESS=127.0.0.1"

然后重新启动 Jenkins。

sudo systemctl daemon-reload
sudo systemctl restart jenkins

检查用于启动 Jenkins 的实际命令行。

sudo systemctl status jenkins

选项--httpListenAddress=127.0.0.1附加到命令行。

也可以看看:

相关内容