8

我在使用 just 安装的 Ubuntu 服务器上安装了 jenkins 的基本安装,因此,现在可以通过简单地添加URLsudo apt-get install jenkins从指向我的框的所有域访问 jenkins 。:8080

我已成功将 apache 配置为代理 jenkins,以便我可以从中访问它ci.mydomain.com,但我无法弄清楚如何防止 jenkins 在端口 8080 上被访问。

这是我的apache conf:

<VirtualHost xx.xx.xx.xx:80>
    ServerAdmin me@mydomain.com
    ServerName ci.mydomain.com

    ProxyPass         /  http://localhost:8080/
    ProxyPassReverse  /  http://localhost:8080/
    ProxyRequests     Off

    <Proxy http://localhost:8080/*>
        Order deny,allow
        Allow from all
    </Proxy>
</VirtualHost>

我已按照此处的 Ubuntu 说明进行操作,但它们似乎没有任何效果。

4

2 回答 2

10

您可以使用 iptables,因为它是 Ubuntu,以阻止对端口 8080 的所有非本地访问。

iptables -A INPUT -p tcp --dport 8080 -s localhost -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j DROP
于 2012-06-28T21:58:46.560 回答
1

还有另一种解决方案(不需要IPtables):

  • 防止jenkins在8080端口被服务器外访问:

    • 编辑文件 /etc/default/jenkins
    • 添加 HTTP_HOST=127.0.0.1
    • 最后换行:

      • 从: JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT"
      • 到: JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT --httpListenAddress=$HTTP_HOST"
    • 重启詹金斯 systemctl restart jenkins

于 2018-06-12T13:50:58.687 回答