harbor1.7.1的访问报错502 bad gateway

背景:

在访问harbor镜像仓库时提示报错如下:

问题分析:

根据提供的报错内容来看时harbor服务的nginx组件服务异常了的,导致无法访问harbor服务,查看harbor服务结果如下:

service@harbor:~/harbor$ docker-compose ps
       Name                     Command                 State                                   Ports                              
-----------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver   /harbor/start.sh                 Up                                                                           
harbor-core          /harbor/start.sh                 Up                                                                           
harbor-db            /entrypoint.sh postgres          Up           5432/tcp                                                        
harbor-jobservice    /harbor/start.sh                 Up                                                                           
harbor-log           /bin/sh -c /usr/local/bin/ ...   Up           127.0.0.1:1514->10514/tcp                                       
harbor-portal        nginx -g daemon off;             Restarting                                                                   
nginx                nginx -g daemon off;             Up           0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp
redis                docker-entrypoint.sh redis ...   Up           6379/tcp                                                        
registry             /entrypoint.sh /etc/regist ...   Up           5000/tcp                                                        
registryctl          /harbor/start.sh                 Up                     

根据docker-compose ps查询的内容来看,是harbor-portal组件服务异常了,导致了nginx组件服务也异常了。

这时候查看harbor服务各个组件的健康状态情况,通过docker ps服务查看

service@harbor:~/harbor$ docker ps -a
CONTAINER ID        IMAGE                                    COMMAND                  CREATED             STATUS                       PORTS                                                              NAMES
3fc9f7342c5d        goharbor/nginx-photon:v1.7.1             "nginx -g 'daemon ..."   3 months ago        Up 13 hours (unhealthy)      0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp   nginx
6eee31ef2bfc        goharbor/harbor-jobservice:v1.7.1        "/harbor/start.sh"       3 months ago        Up 13 hours                                                                                     harbor-jobservice
321ef98c530a        goharbor/harbor-portal:v1.7.1            "nginx -g 'daemon ..."   3 months ago        Restarting (1) 6 hours ago                                                                      harbor-portal
fed5f6eaf486        goharbor/harbor-core:v1.7.1              "/harbor/start.sh"       3 months ago        Up 13 hours (healthy)                                                                           harbor-core
122bbc2f6b56        goharbor/harbor-registryctl:v1.7.1       "/harbor/start.sh"       3 months ago        Up 13 hours (healthy)                                                                           registryctl
7be0ed1ad358        goharbor/harbor-db:v1.7.1                "/entrypoint.sh po..."   3 months ago        Up 13 hours (healthy)        5432/tcp                                                           harbor-db
2448c27d1db9        goharbor/registry-photon:v2.6.2-v1.7.1   "/entrypoint.sh /e..."   3 months ago        Up 13 hours (healthy)        5000/tcp                                                           registry
d7a2691f9a2c        goharbor/harbor-adminserver:v1.7.1       "/harbor/start.sh"       3 months ago        Up 13 hours (healthy)                                                                           harbor-adminserver
d987bcb50630        goharbor/redis-photon:v1.7.1             "docker-entrypoint..."   3 months ago        Up 13 hours                  6379/tcp                                                           redis
d7df267a0dc9        goharbor/harbor-log:v1.7.1               "/bin/sh -c /usr/l..."   3 months ago        Up 13 hours (healthy)        127.0.0.1:1514->10514/tcp                                          harbor-log

这里可以发现nginx处于unhealthy,不健康的状态。

这时候需要分析harbor-portal组件服务为什么报错了,因为harbor使用了syslog服务作为存放日志,所以我们只需要到/var/log/harbor目录下找到对应的服务日志文件查看即可。

service@harbor:/var/log/harbor$ tail -1000f portal.log
........
Jun  4 03:58:54 localhost portal[119121]: 2024/06/03 19:58:54 [emerg] 1#0: mkdir() "/etc//nginx/client_body_temp" failed (13: Permission denied)
Jun  4 03:58:54 localhost portal[119121]: nginx: [emerg] mkdir() "/etc//nginx/client_body_temp" failed (13: Permission denied)

根据日志的提示是portal容器在运行的时候需要创建/etc/nginx/client_body_temp目录,但是提示权限不足无法创建。

问题解决方案:

这里的处理方案就是重新创建portal服务即可。

先停止harbor-portal服务

service@harbor:~/harbor$ docker-compose stop portal
Stopping harbor-portal ... done
                                                   

查看是否已经停止掉harbor-portal服务 

service@harbor:~/harbor$ docker-compose ps
       Name                     Command               State                                 Ports                              
-------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver   /harbor/start.sh                 Up                                                                       
harbor-core          /harbor/start.sh                 Up                                                                       
harbor-db            /entrypoint.sh postgres          Up       5432/tcp                                                        
harbor-jobservice    /harbor/start.sh                 Up                                                                       
harbor-log           /bin/sh -c /usr/local/bin/ ...   Up       127.0.0.1:1514->10514/tcp                                       
harbor-portal        nginx -g daemon off;             Exit 1                                                                   
nginx                nginx -g daemon off;             Up       0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp
redis                docker-entrypoint.sh redis ...   Up       6379/tcp                                                        
registry             /entrypoint.sh /etc/regist ...   Up       5000/tcp                                                        
registryctl          /harbor/start.sh                 Up                    

重建harbor-portal服务

service@harbor:~/harbor$ docker-compose up portal
Creating harbor-portal ... done
harbor-adminserver is up-to-date
registry is up-to-date
harbor-core is up-to-date
Creating harbor-portal ... 
Attaching to harbor-portal
harbor-portal  | WARNING: no logs are available with the 'syslog' log driver
harbor-portal exited with code 0

验证harbor-portal服务是否恢复,nginx服务是否也是恢复了

service@harbor:~/harbor$ docker-compose ps
       Name                     Command               State                                Ports                              
------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver   /harbor/start.sh                 Up                                                                      
harbor-core          /harbor/start.sh                 Up                                                                      
harbor-db            /entrypoint.sh postgres          Up      5432/tcp                                                        
harbor-jobservice    /harbor/start.sh                 Up                                                                      
harbor-log           /bin/sh -c /usr/local/bin/ ...   Up      127.0.0.1:1514->10514/tcp                                       
harbor-portal        nginx -g daemon off;             Up      80/tcp                                                          
nginx                nginx -g daemon off;             Up      0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp
redis                docker-entrypoint.sh redis ...   Up      6379/tcp                                                        
registry             /entrypoint.sh /etc/regist ...   Up      5000/tcp                                                        
registryctl          /harbor/start.sh                 Up                 
service@harbor:~/harbor$ docker ps 
CONTAINER ID        IMAGE                                    COMMAND                  CREATED             STATUS                   PORTS                                                              NAMES
9d729ec76f0c        goharbor/harbor-portal:v1.7.1            "nginx -g 'daemon ..."   2 minutes ago       Up 2 minutes (healthy)   80/tcp                                                             harbor-portal
3fc9f7342c5d        goharbor/nginx-photon:v1.7.1             "nginx -g 'daemon ..."   3 months ago        Up 14 hours (healthy)    0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp   nginx
6eee31ef2bfc        goharbor/harbor-jobservice:v1.7.1        "/harbor/start.sh"       3 months ago        Up 14 hours                                                                                 harbor-jobservice
fed5f6eaf486        goharbor/harbor-core:v1.7.1              "/harbor/start.sh"       3 months ago        Up 14 hours (healthy)                                                                       harbor-core
122bbc2f6b56        goharbor/harbor-registryctl:v1.7.1       "/harbor/start.sh"       3 months ago        Up 14 hours (healthy)                                                                       registryctl
7be0ed1ad358        goharbor/harbor-db:v1.7.1                "/entrypoint.sh po..."   3 months ago        Up 14 hours (healthy)    5432/tcp                                                           harbor-db
2448c27d1db9        goharbor/registry-photon:v2.6.2-v1.7.1   "/entrypoint.sh /e..."   3 months ago        Up 14 hours (healthy)    5000/tcp                                                           registry
d7a2691f9a2c        goharbor/harbor-adminserver:v1.7.1       "/harbor/start.sh"       3 months ago        Up 14 hours (healthy)                                                                       harbor-adminserver
d987bcb50630        goharbor/redis-photon:v1.7.1             "docker-entrypoint..."   3 months ago        Up 14 hours              6379/tcp                                                           redis
d7df267a0dc9        goharbor/harbor-log:v1.7.1               "/bin/sh -c /usr/l..."   3 months ago        Up 14 hours (healthy)    127.0.0.1:1514->10514/tcp                                          harbor-log

这时候发现nginx服务也是healthy状态了,然后去浏览器上访问一下:

然后去输入账号密码即可。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Harbor页面出现502 Bad Gateway错误通常是由于Harbor服务无法连接到其后端服务引起的这可能是由于以下几个原因致的: 1. 后端服务故障:502 Bad Gateway错误通常表示Harbor的后端服务(如数据库或认证服务)无法正常工作。您可以检查Harbor的后端服务是否正常运行,并确保它们没有任何故障或错误。 2. 网络问题:502 Bad Gateway错误也可能是由于网络问题引起的。您可以检查网络连接是否正常,并确保Harbor服务器可以访问其后端服务。 3. 配置错误:502 Bad Gateway错误还可能是由于Harbor的配置错误引起的。您可以检查Harbor的配置文件,确保所有的配置项都正确设置。 解决502 Bad Gateway错误的方法包括: 1. 检查后端服务:确保Harbor的后端服务(如数据库或认证服务)正常运行,并且没有任何故障或错误。 2. 检查网络连接:确保网络连接正常,并且Harbor服务器可以访问其后端服务。 3. 检查配置文件:检查Harbor的配置文件,确保所有的配置项都正确设置。 4. 重启Harbor服务:尝试重启Harbor服务,以确保所有的配置更改都生效。 5. 查看日志文件:查看Harbor的日志文件,以获取更多关于502 Bad Gateway错误的详细信息,这有助于进一步排查问题。 请注意,以上方法仅为一般性建议,具体解决方法可能因您的环境和配置而有所不同。如果问题仍然存在,请提供更多详细信息以便我们能够更好地帮助您解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiang0615csdn

你对鼓励是我最大的动力来源

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值