1panel超简单nginx反代各种docker registry
-
_ 本帖最后由 鸡不择食 于 2024-6-12 21:07 编辑 本帖最后由 鸡不择食 于 2024-6-12 21:07 编辑_
完整见 https://t.me/mjjgarden/8- https://t.me/mjjgarden/8https://t.me/mjjgarden/8
参考了 [https://blog.lty520.faith/博文/自建docker-hub加速镜像/ 的代码](https://blog.lty520.faith/博文/自建docker-hub加速镜像/ 的代码)- https://blog.lty520.faith/博文/自建docker-hub加速镜像/ 的代码https://blog.lty520.faith/博文/自建docker-hub加速镜像/ 的代码
支持
registry-1.docker.io
gcr.io
ghcr.io
registry.gitlab.com
nvcr.io
quay.io
代码已经简化了, 直接注释代码 就能反代 目标 regisry了.先1panel 新建站点 使用反代功能, 新建后删除反代.
然后编辑 站点配置, 添加 下面代码
-
... 原代码...... 原代码...
-
-
location / { location / {
-
resolver 1.1.1.1; resolver 1.1.1.1;
-
# 这个docker hub 官方registry,大部份人用这个就够了, # 这个docker hub 官方registry,大部份人用这个就够了,
-
set $target_host registry-1.docker.io; set $target_host registry-1.docker.io;
-
# 根据情况自己选择使用, 一个站点(host)只能用一个 目标registry, 需要多个反代多个目标就建立多个不同站点. # 根据情况自己选择使用, 一个站点(host)只能用一个 目标registry, 需要多个反代多个目标就建立多个不同站点.
-
# set $target_host ghcr.io; # github 使用的人也不少. # set $target_host ghcr.io; # github 使用的人也不少.
-
# set $target_host gcr.io; # Google # set $target_host gcr.io; # Google
-
# set $target_host nvcr.io; # nvdia # set $target_host nvcr.io; # nvdia
-
# set $target_host registry.gitlab.com; # gitlab # set $target_host registry.gitlab.com; # gitlab
-
# set $target_host quay.io; # quay # set $target_host quay.io; # quay
-
-
proxy_pass https://$backend_host; proxy_pass https://$backend_host;
-
proxy_set_header Host $backend_host; proxy_set_header Host $backend_host;
-
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
-
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
-
# 关闭缓存 # 关闭缓存
-
proxy_buffering off; proxy_buffering off;
-
# 转发认证相关的头部 # 转发认证相关的头部
-
proxy_set_header Authorization $http_authorization; proxy_set_header Authorization $http_authorization;
-
proxy_pass_header Authorization; proxy_pass_header Authorization;
-
# 对 upstream 状态码检查,实现 error_page 错误重定向 # 对 upstream 状态码检查,实现 error_page 错误重定向
-
proxy_intercept_errors on; proxy_intercept_errors on;
-
# error_page 指令默认只检查了第一次后端返回的状态码,开启后可以跟随多次重定向。 # error_page 指令默认只检查了第一次后端返回的状态码,开启后可以跟随多次重定向。
-
recursive_error_pages on; recursive_error_pages on;
-
# 根据状态码执行对应操作,以下为301、302、307状态码都会触发 # 根据状态码执行对应操作,以下为301、302、307状态码都会触发
-
#error_page 301 302 307 = @handle_redirect; #error_page 301 302 307 = @handle_redirect;
-
error_page 429 = @handle_too_many_requests; error_page 429 = @handle_too_many_requests;
-
} }
-
-
#处理重定向 #处理重定向
-
location @handle_redirect { location @handle_redirect {
-
resolver 1.1.1.1; resolver 1.1.1.1;
-
set $saved_redirect_location '$upstream_http_location'; set $saved_redirect_location '$upstream_http_location';
-
proxy_pass $saved_redirect_location; proxy_pass $saved_redirect_location;
-
} }
-
# 处理429错误, 如registry-1.docker.io 短时间请求太多会触发, 此时可以cf work方案接力, 或者 使用 warp # 处理429错误, 如registry-1.docker.io 短时间请求太多会触发, 此时可以cf work方案接力, 或者 使用 warp
-
location @handle_too_many_requests { location @handle_too_many_requests {
-
#proxy_set_header Host cfcr.j8.work; # 对应 Worker设置的域名 #proxy_set_header Host cfcr.j8.work; # 对应 Worker设置的域名
-
#proxy_pass http://cfcr.j8.work; # 对应 Worker设置的域名 #proxy_pass http://cfcr.j8.work; # 对应 Worker设置的域名
-
#proxy_set_header Host $http_host; #proxy_set_header Host $http_host;
-
} }复制代码复制代码
-
-
没用过1panel
“先1panel 新建站点 使用反代功能, 新建后删除反代.然后编辑 站点配置, 添加 下面代码”
这段看麻了 大佬能不能详解一下? -
https://hostloc.com/forum.php?mod=redirect&goto=findpost&pid=15626171&ptid=1316490- emily1218 发表于 2024-6-13 22:13emily1218 发表于 2024-6-13 22:13
没用过1panel
没用过1panel
“先1panel 新建站点 使用反代功能, 新建后删除反代.
“先1panel 新建站点 使用反代功能, 新建后删除反代.用Nginx 也行的.
-
https://hostloc.com/forum.php?mod=redirect&goto=findpost&pid=15626179&ptid=1316490- 鸡不择食 发表于 2024-6-13 22:15鸡不择食 发表于 2024-6-13 22:15
用Nginx 也行的.
用Nginx 也行的.大佬能发一份完整配置不 咋保存都是报错