前言
之前公司安装的 maven私服被安全部门扫描出有漏洞,需要升级。
调研之后决定使用docker来部署最新的nexus3。
nexus官方镜像地址:https://hub.docker.com/r/sonatype/nexus3/
部署
docker run -d -p 8081:8081 --name nexus sonatype/nexus3
根据官方操作,该命令就可以在本地启用一个可用的私服了。
生产部署,如果需要持久化卷的话,就把容器里面的
/nexus-data
这个目录挂载出来就行了。
SSL配置
正式部署的时候,可能需要暴露https来提供服务。
如果使用nexus的8081在nginx上面proxy,通过nginx的ssl来暴露https的话,是有问题的。
nexus如果想要配置https需要单独配置一个新的ssl端口,然后把这个端口暴露出去。
官网有配置地址:
https://support.sonatype.com/hc/en-us/articles/213465768-SSL-Certificate-Guide
https://help.sonatype.com/repomanager3/security/configuring-ssl
根据第一链接生成一个 keystore.jks 。保存到 $data-dir/etc/ssl/keystore.jks
第二个链接进行简单的配置,就可以配置ssl的端口
修改容器启动脚本,把https的服务暴露出去,然后nginx再把https的请求转发到新加的ssl服务即可。