如何在JFrog平台中启用TLS
左边图片:
当在负载均衡器上终止SSL流量时,客户端对JFrog平台部署(JPD)的请求将通过不安全的HTTP进一步发送到Router或/和Artifactory。
此外,在此场景中,HA设置中的Artifactory节点将通过HTTP以及其他JFrog产品(例如Xray)进行通信。hth华体会最新官方网站
正确的图片:
我们在这个分步指南中的主要目标是展示如何在JFrog平台中启用TLS,以便确保Xray和Artifactory等jpd之间以及负载均衡器和jpd之间的通信安全。
使用Access作为证书颁发机构
为了在JFrog平台中启用TLS,我们将遵循以下步骤:使用Access作为证书颁发机构.在这个设置中,我们将使用Access作为证书颁发机构来生成自签名证书。为了简单起见,我们的设置将由两个Artifactory和一个Xray节点定义。
以下配置文件将被更新。
access.config.yaml
system.yaml
Artifactory-nginx.conf
示例设置:
- 2 Artifactory平台部署
- 1 x射线平台部署
- 负载均衡器(本例中为Nginx)
- Nginx上的TLS终止。
在Access中启用TLS
从您的集群中选择一个Artifactory节点。
B. $ mv access.config.latest.yml access.config.import.yml
c.将下面的代码片段添加到access.config.import.yml。
安全:
tls:真
e. ' tls: true '设置在所有Artifactory节点中传播。
在继续之前,检查它是否传播到其他节点。为了确保一切都按预期设置,在每个Artifactory节点中验证access.config.yml是否已更新为' tls:true '。对于Artifactory节点,根CA通过数据库自动分发,不需要手动复制Access根CA。
例如,在For Xray中遵循以下步骤。
- 本根。crt从你的HA Artifactory节点之一
- 根。目录:$JFROG_HOME/artifactory/var/etc/access/keys
- 粘贴根。crt到Xray信任文件夹:
- 受信任文件夹位于:$JFROG_HOME/xray/var/etc/security/keys/trusted
- 重新启动x光
在Artifactory中启用TLS
artifactory:
tomcat:
httpsConnector:
启用:真
注意:
默认情况下,8443端口将用于人工TLS连接。如果您想要更改它,请相应地更新artificial .tomcat. httpconnector .port: 8443。
在更新Artifactory. Tomcat . httpconnector .enabled并重新启动Artifactory后,以下配置会自动添加到Tomcat server.xml中。
Server.xml位于$JFROG_HOME/artifactory/app/artifactory/tomcat/conf目录下<连接器端口="8443"协议="org.jfrog.tomcat.connector. "HTTP11NioProtocol" maxThreads="200" bindOnInit="false" scheme="https" secure="true"
waitForSSLCertificateFile = " / opt / jfrog / artifactory / var /数据/路由器/键/ server.crt”
waitForSSLCertificateKeyFile = " / opt / jfrog / artifactory / var /数据/路由器/键/服务器。关键" / >
Artifactory-Nginx配置
最后一个需要更新的配置文件是artifactory-nginx.conf。
从“反向代理设置”界面生成Nginx配置后,需要更新以下内容:
- 上游artifactory-direct
- 修改端口:8081→8443
上游手工-直接{
服务器FIRST_NODE_IP美元:8443;
服务器SECOND_NODE_IP美元:8443;
}
- 位置
- 修改proxy_pass: http://artifactory→https://artifactory。
- 修改的位置。Proxy_pass: http://artifactory-direct/→https://artifactory-direct/。
位置/ {
proxy_read_timeout 2400年代;
proxy_pass_header服务器;
proxy_cookie_path ~ * ^ /。* /;
proxy_buffer_size 128 k;
Proxy_buffers 40 128k;
proxy_busy_buffers_size 128 k;
proxy_pass https://artifactory;
Proxy_next_upstream错误超时非幂等;
proxy_next_upstream_tries 1;
proxy_set_header x - jfrog - overrides - base - url $http_x_forwarded_proto://$host:$server_port;
proxy_set_header x - forwarded port $server_port;
proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto
主机$http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Content-Type-Options "nosniff" always;
严格传输安全always;
位置~ ^/artifactory/ {
proxy_pass https://artifactory-direct;
}
}
在这些更改之后,确保重新加载Nginx配置。
结论:
在本文中,我们已经在JFrog平台中配置了TLS。
这意味着,所有到JFrog平台的通信都需要使用TLS,包括平台内的服务到服务通信。
这是通过配置三个配置文件来完成的:access.config。yml、系统。Yaml和artifactory-nginx.conf。
我们用tls:enabled修改了access.config.yml,以加强JFrog平台的安全通信。之后我们更新了Artifactory系统。在Tomcat级别打开一个HTTPS连接器。最后,我们更新了来自Nginx的请求,通过修改proxy_pass从HTTP→HTTPS到Artifactory。
