在AWS上部署JFrog Artifactory Pro并限制企业内网访问的步骤咨询
AWS内网部署JFrog Artifactory Pro操作指南
反向代理必要性说明
这个场景下推荐配置反向代理,优势如下:
- 可以把Artifactory默认的8081/8082端口统一收敛为80/443端口,内网访问无需加端口后缀,使用更方便
- 后续需要配置HTTPS加密、访问日志统计、访问限流等能力时,直接在反向代理层配置即可,无需修改Artifactory核心配置
- 多服务复用端口时适配性更好,如果你后续在同实例部署其他JFrog生态组件可以共用反向代理入口
如果你的使用场景非常简单,不需要以上能力也可以不配置,直接通过8082端口访问即可。
前置准备
- AWS账号权限:需要EC2、VPC、安全组、EBS资源的创建配置权限
- 实例规格:最低选择4核8G的EC2实例,操作系统建议选Amazon Linux 2,搭配50G以上GP3类型EBS数据卷(专门存储制品数据,方便后续扩容、备份)
- 提前获取企业内网的CIDR地址段(比如192.168.0.0/16),后续用于配置访问控制
- 提前获取JFrog Artifactory Pro的正式许可证
第一步:AWS网络与资源配置(仅内网访问的核心保障)
- 网络选择:将EC2实例部署在和企业内网打通的私有VPC内,不要给实例分配公网IP,从网络层面禁止公网访问
- 安全组配置:入站规则只允许企业内网CIDR的访问请求,禁止所有0.0.0.0/0的入站规则,需要开放的端口如下:
- 22端口:仅用于内网环境下SSH登录运维
- 80/443端口:反向代理访问入口
- 如不配置反向代理,额外开放8082端口用于Artifactory页面访问
- EBS卷挂载:将单独购买的EBS数据卷挂载到EC2的
/jfrog目录,执行sudo chown -R 1030:1030 /jfrog授权,所有Artifactory数据都存储在该目录避免实例故障数据丢失
第二步:安装部署JFrog Artifactory Pro
新手推荐用Docker方式部署,配置门槛更低:
- 安装Docker环境:
sudo yum update -y sudo amazon-linux-extras install docker -y sudo systemctl start docker sudo systemctl enable docker
- 拉取官方Artifactory Pro镜像:
sudo docker pull releases-docker.jfrog.io/jfrog/artifactory-pro:latest
- 启动Artifactory容器:
sudo docker run --name artifactory -d \ -p 127.0.0.1:8081:8081 \ -p 127.0.0.1:8082:8082 \ -v /jfrog/artifactory:/var/opt/jfrog/artifactory \ --restart always \ releases-docker.jfrog.io/jfrog/artifactory-pro:latest
这里绑定127.0.0.1是为了只允许本地反向代理访问Artifactory原生端口,避免内网直接访问原生端口
4. 初始验证:等待3分钟左右,执行curl http://127.0.0.1:8082有返回内容说明启动成功,首次登录默认用户名admin,默认密码password,登录后第一时间修改管理员密码并导入Pro许可证即可。
第三步:Nginx反向代理配置
- 安装Nginx:
sudo yum install nginx -y sudo systemctl start nginx sudo systemctl enable nginx
- 新建Artifactory代理配置文件,执行
sudo vi /etc/nginx/conf.d/artifactory.conf,填入以下内容:
server { listen 80; # 这里替换为你内网分配给Artifactory的域名,没有域名可以填EC2的内网IP server_name artifactory.intra.your-company.com; access_log /var/log/nginx/artifactory.access.log; error_log /var/log/nginx/artifactory.error.log; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; location / { proxy_pass http://127.0.0.1:8082; proxy_read_timeout 300; } location /artifactory/ { proxy_pass http://127.0.0.1:8081/artifactory/; proxy_read_timeout 300; } }
- 验证配置有效性并重载:
sudo nginx -t sudo nginx -s reload
最终访问验证
在企业内网的终端打开浏览器,输入你配置的Artifactory内网域名或者EC2内网IP,能正常打开登录页面、登录操作正常即配置完成。公网环境下无法访问该服务,符合安全要求。
内容的提问来源于stack exchange,提问作者Anonymous
相关产品推荐
相关产品推荐

