通过 Nginx 转发使用 Harbor 的一些问题
此前,通过《Harbor 的安装和使用》,以 Nginx 转发到 Harbor 的方式进行安装,随后的使用碰到一些问题。(使用标准方式安装则不会碰到本文提及的问题 🙂)
1. docker push - 持续 retry 无进度
抓包结果
原因分析: docker push 初始化后,会使用 80 端口(HTTP)进行上传,此前 Nginx 配置了全站强制 HTTPS
1 | # 重定向所有 HTTP 请求 |
解决方案: Nginx 配置添加对 hub.fqk.app
80 端口的转发
1 | server { |
2. docker push - unauthorized: authentication required
相关 Issue: Registry with auth: auth issue at push #1177
解决方案:
1 | # 编辑 Harbor Nginx 配置 |
找到 location /v2/ 的配置块 ,将
proxy_set_header X-Forwarded-Proto $scheme;
调整为
proxy_set_header X-Forwarded-Proto https;
而后重启 Harbor Nginx docker restart nginx
3. docker push - 413 Request Entity Too Large”
此为用于转发的 Nginx 上传文件大小超限的问题,调整 client_max_body_size
配置值即可
1 | server { |