我正在通过默认的winstone容器运行Jenkins,我想将所有对http://jenkins-server的调用重定向到https://jenkins-server。有没有一种方法可以做到这一点,而无需通过Apache等运行Jenkins?
1dkrff031#
至少你需要一些东西,可以放在端口80上,并将浏览器重定向到https://jenkins-server。Jenkins没有内置的这个功能。请参阅https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins上的Jenkins命令行选项
vmjh9lq92#
首先,您必须在您的jenkin名称(可能是localhost)上生成证书(公共和私有),并将公共证书导入浏览器。使用您生成的证书(可能是包含公钥和私钥的JKS格式)并行托管jenkin。参考更多信息“在jenkins中启用HTTPS?“
lkaoscv73#
Jenkins可以在最近的一些版本中实现。启动Jenkins时添加--httpsRedirectHttp参数。通常它被配置为systemd服务。编辑/lib/systemd/system/jenkins.service,修改exec行:
--httpsRedirectHttp
/lib/systemd/system/jenkins.service
ExecStart=/usr/bin/jenkins --httpsRedirectHttp
如果你想将Jenkins绑定到80和443端口,你需要将能力设置为运行Jenkins的JVM(这可能会带来安全风险):
sudo setcap CAP_NET_BIND_SERVICE=+eip /path/to/java
3条答案
按热度按时间1dkrff031#
至少你需要一些东西,可以放在端口80上,并将浏览器重定向到https://jenkins-server。Jenkins没有内置的这个功能。
请参阅https://wiki.jenkins-ci.org/display/JENKINS/Starting+and+Accessing+Jenkins上的Jenkins命令行选项
vmjh9lq92#
首先,您必须在您的jenkin名称(可能是localhost)上生成证书(公共和私有),并将公共证书导入浏览器。使用您生成的证书(可能是包含公钥和私钥的JKS格式)并行托管jenkin。
参考更多信息“在jenkins中启用HTTPS?“
lkaoscv73#
Jenkins可以在最近的一些版本中实现。
启动Jenkins时添加
--httpsRedirectHttp
参数。通常它被配置为systemd服务。编辑/lib/systemd/system/jenkins.service
,修改exec行:如果你想将Jenkins绑定到80和443端口,你需要将能力设置为运行Jenkins的JVM(这可能会带来安全风险):