Nginx proxy manager反向代理docker hub

monkey6發表於2024-07-02

1.域名解析

用作反向代理的域名要提前解析,如果使用外國的DNS域名提供商的話,最好提前一天解析好。

2.配置NPM

2.1.Details選項卡

2.2.SSL選項卡

2.3.Advanced選項卡

location / {
                    # Docker hub 的官方映象倉庫
                    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;
                    recursive_error_pages on;
                    # 根據狀態碼執行對應操作,以下為381、302、387狀態碼都會觸發
                    error_page 301 302 307 = @handle_redirect;
        }
        location @handle_redirect {
                    resolver 1.1.1.1;
                    set $saved_redirect_location '$upstream_http_location';
                    proxy_pass $saved_redirect_location;
        }

3.測試

# 找一臺機器進行測試
docker pull docker.youdomainname.top/library/busybox:latest

參考:利用nginx反向代理加速docker映象拉取

Nginx Proxy Manager使用教程

相關文章