location /
{
    proxy_pass https://registry-1.docker.io;
    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;
    # 对 upstream 状态码检查,实现 error_page 错误重定向
    proxy_intercept_errors on;
    # error_page指令默认只检查了第一次后端返回的状态码,开启后可以跟随多次重定向。
    recursive_error_pages on;
    # 根据状态码执行对应操作,以下为301、302、307状态码都会触发
    error_page 301 302 307 = @handle_redirect;
    #error_page 429 = @handle_too_many_requests;
}
#处理重定向
location @handle_redirect
{
    #resolver 1.1.1.1;
    set $saved_redirect_location '$upstream_http_location';
    proxy_pass $saved_redirect_location;
}
# 用于 Docker 加速服务
最后修改:2024 年 07 月 14 日
如果觉得我的文章对你有用,请随意赞赏