国内服务器不能拉取docker镜像问题的解决办法【Nginx反代】

对于以上问题,我的解决办法就是Nginx配置反代,用的时候启用,不用的时候关闭,省的被白嫖流量。

location /v2/ {
                proxy_pass https://registry-1.docker.io;  # Docker Hub 的官方镜像仓库
                proxy_set_header Host registry-1.docker.io;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;

                # 关闭缓存
                proxy_buffering off;

                # 转发认证相关的头部
                proxy_set_header Authorization $http_authorization;
                proxy_pass_header  Authorization;

                # 重写 www-authenticate 头为你的反代地址
                proxy_hide_header www-authenticate;
                
                #同理,如果你没域名的话,这里请填写IP地址
                add_header www-authenticate 'Bearer realm="https://这里替换成你的域名或者IP/token",service="registry.docker.io"' always;
                # always 参数确保该头部在返回 401 错误时无论什么情况下都会被添加。

                # 对 upstream 状态码检查,实现 error_page 错误重定向
                proxy_intercept_errors on;
                # error_page 指令默认只检查了第一次后端返回的状态码,开启后可以跟随多次重定向。
                recursive_error_pages on;
                # 根据状态码执行对应操作,以下为301、302、307状态码都会触发
                error_page 301 302 307 = @handle_redirect;
        }
        location /token {
                resolver 8.8.8.8 valid=6000s;
                proxy_pass https://auth.docker.io;  # Docker 认证服务器

                # 设置请求头,确保转发正确
                proxy_set_header Host auth.docker.io;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
            
                # 传递 Authorization 头信息,获取 Token
                proxy_set_header Authorization $http_authorization;
                proxy_pass_header Authorization;
                # 禁用缓存
                proxy_buffering off;
        }
        location @handle_redirect {
                resolver 8.8.8.8;
                set $saved_redirect_location '$upstream_http_location';
                proxy_pass $saved_redirect_location;
        }
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇