Назад | Перейти на главную страницу

Невозможно получить доступ к Jenkins (Centos 7)

Я только что установил Jenkins с его конфигурациями по умолчанию на физическом компьютере Centos 7.

Порт 8080 открыт на межсетевом экране:

sudo iptables -L -n
[...]
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
[...]

Также похоже, что Дженкинс на самом деле прослушивает все интерфейсы:

sudo netstat -an | grep "LISTEN "
[...]
tcp6       0      0 :::8080                 :::*                    LISTEN
[...]

Я могу curl localhost:8080 локально (из коробки Centos) без проблем, но из любой точки сети я получаю Connection refused.

Я что-то упускаю?

@panos: он работал после установки JENKINS_JAVA_OPTIONS = "$ JENKINS_JAVA_OPTIONS -Djava.net.preferIPv4Stack = true" в / etc / sysconfig / jenkins, а затем sudo systemctl restart jenkins. также я удалил записи ipv6 в / etc / hosts, не уверен, нужно ли редактировать файл, позже я проверил "netstat -tulpen", можно увидеть, что java прослушивает tcp ..

Вышеупомянутое похоже на то, что Jenkins по умолчанию использует только ipv6.

Попробуйте следующее, возможно, это решит вашу проблему:

бегать: $ /sbin/sysctl net.ipv6.bindv6only

Вероятно, вы получите результат со значением net.ipv6.bindv6only = 1.

В этом случае вам необходимо отключить настройку:

sudo /sbin/sysctl net.ipv6.bindv6only=0

После команды выше вы получите ответ типа net.ipv6.bindv6only = 0, перезапустите Jenkins: sudo systemctl restart jenkins и попробуйте снова подключиться к Jenkins.

Если это сработало для вас, вы должны поместить это в конфигурационный файл sysctl. Потому что это не постоянное исправление. После перезагрузки параметр, который вы только что изменили, будет по умолчанию равен 1 очередной раз.

Проверьте /etc/sysctl.conf и /etc/sysctl.d/* и добавить net.ipv6.bindv6only = 0 чтобы сделать этот параметр постоянным и запустить sudo sysctl -p или перезапустите после его изменения.