配置harbor的nginx反向代理

准备:
=>申请ssl免费域名并下载密钥
=>申请域名
=>安装nginx
=>安装docker-compose
=>安装harbor
1、配置http域名访问
1)修改nginx配置
为了保证能通过域名访问harbor,避免因域名问题而导致不能正常访问,这里我先实现了通过域名能正常访问。
vim /data/docker/nginx/conf/conf.d/default.conf
upstream harbor{
    server 192.168.17.102:85;
}
server
{
    listen 80;
    server_name harbor.test.com;
    client_max_body_size 0;  # 放开上传文件大小限制
    index index.php index.html index.htm default.php default.htm default.html;
    location /harbor
    {
        proxy_pass
http://harbor;
    }
}
2)、修改harbor.yml配置
3)、访问:
http://harbor.test.com/harbor/ 
出现404或者无反应,需加端口号
注意:这里需要加端口号才能正常访问
2、修改nginx配置,实现用https访问
出现问题:
http可以访问,但https不能访问
修改harbor.yml配置,打开https,并将external_url 改成https
重新启动harbor
./prepare
./install.sh
修改nginx配置
upstream harbor{
    server 192.168.17.102
:887;
}
server
{
    listen 80;
    server_name harbor.test.pub;
    client_max_body_size 0;  # 放开上传文件大小限制
    index index.php index.html index.htm default.php default.htm default.html;
    rewrite ^(.*)$ https://$host$1;
}
server {
    listen      443 ssl;
    server_name harbor.test.pub;
    index index.php index.html index.htm default.php default.htm default.html;
    ssl_certificate      /ssl/6708595_harbor.test.com.pem;
    ssl_certificate_key  /ssl/6708595_harbortest.com.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location /harbor {
        proxy_pass
http://harbor;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect http:// $scheme://;
        client_max_body_size 0;
    }
配置vim /etc/docker/daemon.json
上传镜像:
登录docker login -u test -p *** 
https://harbor.test.com:887/
出现
Error response from daemon: Get "
http://harbor.test.com:887
/v2/": dial tcp 192.168.17.102:887: connect: connection refused错误
尝试再web页面通过用户名密码登录,发现也登录不了
查看token认证的文件
将此文件复制到/etc/docker/certs.d/
harbor.od.com/ 认证的目录下面
cp common/config/registry/root.crt /etc/docker/certs.d/
harbor.od.com/
尝试登录
问题解决
尝试服务器登录
sudo docker login -u admin -p ***  
https://harbor.test.com:887/
尝试本地登录
docker login
https://harbor.test.com:887/ 出现以下提示
解决办法
进入harbor目录找到/common/config/registry目录,找到config.yml文件,找到auth: realm:的URL地址有没有错。错了,修改一下然后重启
auth:
token:
issuer: harbor
-token-
issuer
realm: http:
//reg.harbor.cn/service/token  #注意这里
http:
//reg.harbor.cn:887/service/token  看看有没有加端口号
rootcertbundle: /etc/registry/
root.crt
service: harbor
-
registry
validation:
然后重启harbor
docker-
compose down
docker-compose up -d
登录成功

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>