jenkins无法通过ip地址连接

jenkins无法通过ip地址连接,jenkins,Jenkins,我通过yum安装jenkins在centOS 7上安装jenkins,并启动jenkins服务jenkins start 现在我可以通过localhost和127.0.0.1访问它,但我不能通过ip访问它(比如:192.168.1.77) 防火墙关闭了 jeakins配置是默认的 詹金斯版本:v2.64 netstat-nltpresult:(我现在使用端口:8088) ifconfig结果: enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAS

我通过
yum安装jenkins
在centOS 7上安装jenkins,并启动jenkins
服务jenkins start

现在我可以通过
localhost
127.0.0.1
访问它,但我不能通过ip访问它(比如:192.168.1.77)

  • 防火墙关闭了
  • jeakins配置是默认的
  • 詹金斯版本:v2.64
  • netstat-nltp
    result:(我现在使用端口:8088)

    ifconfig
    结果:

    enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.2.99  netmask 255.255.255.0  broadcast 192.168.2.255
            inet6 fe80::a62:66ff:fe9e:fba3  prefixlen 64  scopeid 0x20<link>
            ether 08:62:66:9e:fb:a3  txqueuelen 1000  (Ethernet)
            RX packets 501018  bytes 502734098 (479.4 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 167889  bytes 16471815 (15.7 MiB)
            TX errors 14  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 0  (Local Loopback)
            RX packets 11265076  bytes 8998994558 (8.3 GiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 11265076  bytes 8998994558 (8.3 GiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
            inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
            ether 52:54:00:e3:8b:e1  txqueuelen 0  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    所以我认为防火墙关闭了。事实上,CentOS 7使用
    防火墙命令--state
    结果是
    正在运行


    在运行了
    iptables-F
    之后,我不知道为什么,但它现在可以工作了。这不是一个好办法

    从您的
    netstat
    输出中可以看出,这是一个IpV6绑定问题,因为Jenkins的Java进程只侦听IpV6:

    tcp6       0      0 :::8088                 :::*                    LISTEN      886/java
    
    而且似乎你的ISP没有通过IpV6地址让你出去,这就是为什么你不能访问Jenkins。您可以在sysconfig文件中配置Java默认值,在我的场景中,我使用的是CentOS 7,因此我在
    /etc/sysconfig/jenkins
    中修改了这一行:

    JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true"
    
    然后
    systemctl重新启动jenkins
    ,现在它正在侦听IPv4:

    [root@jenkins ~]# netstat -lntup | grep 8080
    tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      1300/java
    

    多亏了。

    你尝试使用不同的端口了吗?@user7294900我尝试8088也失败了
    netstat-nltp在那台机器上的输出是什么?请通过编辑将其添加到您的问题中。@StephenKing tks如需评论,我现在添加netstat结果虚拟机的IP地址是
    192.168.122.1
    ,对吗?给定输出,Jenkins将侦听所有接口(
    ::8080
    ),因此如果您访问正确的IP,应该可以访问它。也可以从VM内部尝试。使用
    IP addr
    验证IP地址。
    JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true"
    
    [root@jenkins ~]# netstat -lntup | grep 8080
    tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      1300/java