harbor1.7.1的访问报错502 bad gateway

2024-06-04 19:28

本文主要是介绍harbor1.7.1的访问报错502 bad gateway,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景:

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

问题分析:

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

service@harbor:~/harbor$ docker-compose psName                     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 psName                     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 psName                     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状态了,然后去浏览器上访问一下:

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

这篇关于harbor1.7.1的访问报错502 bad gateway的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030908

相关文章

WinForm跨线程访问UI及UI卡死的解决方案

《WinForm跨线程访问UI及UI卡死的解决方案》在WinForm开发过程中,跨线程访问UI控件和界面卡死是常见的技术难题,由于Windows窗体应用程序的UI控件默认只能在主线程(UI线程)上操作... 目录前言正文案例1:直接线程操作(无UI访问)案例2:BeginInvoke访问UI(错误用法)案例

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

spring-gateway filters添加自定义过滤器实现流程分析(可插拔)

《spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔)》:本文主要介绍spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔),本文通过实例图... 目录需求背景需求拆解设计流程及作用域逻辑处理代码逻辑需求背景公司要求,通过公司网络代理访问的请求需要做请

NGINX 配置内网访问的实现步骤

《NGINX配置内网访问的实现步骤》本文主要介绍了NGINX配置内网访问的实现步骤,Nginx的geo模块限制域名访问权限,仅允许内网/办公室IP访问,具有一定的参考价值,感兴趣的可以了解一下... 目录需求1. geo 模块配置2. 访问控制判断3. 错误页面配置4. 一个完整的配置参考文档需求我们有一