Nexus 开启 HTTPS

Nexus Registory SSL

配置 Nexus 使用 https

开启 HTTPS 方式大概分为两种,一种为Nexus 服务本身开启代理,另外一种使用 Nginx 进行反向代理实现 HTTPS, 由于我使用的方式是使用 Docker 进行的Nexus 的配置, 故使用第二种方式 Nginx反向代理实现各个仓库的 HTTPS

实现过程

  • 制作泛域名证书

    原因:使用 Nexus 服务作为 Pypi 源、YUM源、Docker 版本库,所以需要每个源的域名不相同

  • 自动生成泛域名自签证书

    详细自动生成过程查看:自动生成泛域名证书

  • 配置 NginxNexus 进行方向代理

    本次Nginx 同样使用 Docker 方式实现

    • 创建Nginx Docker 数据卷

      docker volume create --driver local --opt type=none --opt device=$(pwd) --opt o=bind nexus-data
      
    • 重新制作 Nginx 镜像

      FROM nginx:stable-alpine
      
      VOLUME /data/nginx
      
      
      COPY nginx.conf /etc/nginx/nginx.conf
      COPY upstream.conf /etc/nginx/conf.d/upstream.conf
      COPY ngiinx.nexus.conf /etc/nginx/conf.d/nginx.nexus.conf
      

      具体Nginx 配置详见:配置连接

    • 生成镜像

      docker build -t  nexus3/nginx:<tag> .
      
  • 或者直接配置docker-compose启动 nexus 与 nginx

    # cat docker-compose.yml
    version: "3"
    
    services:
      nginx:
        image: nexus/nginx:latest
        build:
          context: ./nginx
        ports:
          - "80:80"
          - "443:443"
        container_name: nginx-server
        volumes:
          - nginx-data:/data/nginx
        links:
          - nexus
      nexus:
        image: sonatype/nexus3:latest
        volumes:
          - nexus-data:/nexus-data
        container_name: nexus-server
    volumes:
      nexus-data:
        external: true
      nginx-data:
        external: true
    
  • 启动及验证

    # 在 docker-compose.yml所在目录
    $ docker-compose up -d
    $ docker ps 
    f12650d90115        nexus3/nginx:1.14.2      "nginx -g 'daemon of…"   4 hours ago         Up 4 hours          0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx-server
    9048ec5e23cd        sonatype/nexus3:latest   "sh -c ${SONATYPE_DI…"   4 hours ago         Up 4 hours          8081/tcp                                   nexus-server
    
  • web 访问与客户端配置验证

  • 各仓库开启 https 验证

    • YUM
      注意:
    1. 配置yum 使用 https 时需要配置

    2. 更改 yum 源文件 *.repo 链接为 https://<your_domainname>

      sslverify=1 # 是否开启证书校验,本文配置为0即可因为是自签发的证书
      # 当开启证书校验需要指定证书位置
      sslclientcert=/var/lib/yum/client.cert 
      sslclientkey=/var/lib/yum/client.key
      

    • Docker

      $ cat /etc/docker/daemon.json
      {
      "registry-mirrors": ["https://idocker.registory.com"],
      "insecure-registries": ["https://idocker.registory.com"],
      "disable-legacy-registry": true
      }
      $ docker pull 
      

    • Pypi

      pip install ansible
      # 输出
      Looking in indexes: https://ipypi.registory.com/repository/pypi-group/simple
      Collecting ansible
      

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值