デフォルト設定を使用して、Jenkinsはポート8080でリッスンします。
$ ss -tulpn | grep 8080
tcp LISTEN 0 50 *:8080 *:* users:(("java",pid=3052,fd=115)
しかし、私はこれを変更し、Jenkinsがポート80でリッスンするようにしたいと思います。
入って/etc/sysconfig/jenkins
変更JENKINS_PORT
してJENKINS_PORT="80"
再起動すると、次のようなsudo service jenkins restart
結果が表示されます。
$ ss -tulpn | grep 8080
$ ss -tulpn | grep 80
$ curl localhost:8080
curl: (7) Failed to connect to localhost port 8080 after 0 ms: Connection refused
$ curl localhost:80
curl: (7) Failed to connect to localhost port 80 after 0 ms: Connection refused
Jenkinsにポート80をリッスンさせる方法は?
答え1
答え2
systemdを実行する場合、よりきれいな答えは、サービスポートにバインドできる機能をプロセスに提供することです。systemctl edit jenkins.service
次のセクションを実行して追加します。
[Service]
Environment="JENKINS_PORT=80"
AmbientCapabilities=CAP_NET_BIND_SERVICE
その後、サービスを再起動します。 HTTPSが必要な場合は、同様のソリューションを使用して443にバインドできます。
答え3
あるシステムでは、authbind
Jenkinsがフルアクセスを許可せずにポート80にバインドすることを許可できますCAP_NET_BIND_SERVICE
。実行するには、systemctl edit jenkins.service
次を追加します。
[Service]
Environment="JENKINS_PORT=80"
ExecStart=/usr/bin/authbind --depth 2 /usr/bin/jenkins
そして、ポート80を許可するようにJenkinsを設定します。
touch /etc/authbind/byport/80
chown jenkins:jenkins /etc/authbind/byport/80
chmod 774 /etc/authbind/byport/80