如何让 Jenkins 停止监听远程连接?

Lud*_*udo 25 ubuntu hudson jenkins

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

如何告诉它停止侦听远程连接而只接受本地连接?

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

感谢您提供任何帮助!

卢多。

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

小智 27

Debian

如果您从 Debian 软件包安装 Jenkins,您可以修改/etc/default/jenkins并在某处添加以下行:

HTTP_HOST=127.0.0.1
Run Code Online (Sandbox Code Playgroud)

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

JENKINS_ARGS="--webroot=/var/run/jenkins/war --httpPort=$HTTP_PORT --ajp13Port=$AJP_PORT --httpListenAddress=$HTTP_HOST"
Run Code Online (Sandbox Code Playgroud)

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"
Run Code Online (Sandbox Code Playgroud)

红帽/CentOS/亚马逊Linux

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