创建自己的docker加速器 Nginx 反代

  • 15 8 月, 2024
  • 1
server {
listen 443 ssl;
server_name xxxxx.ericfang.fr;# 需要修改成自己的域名
charset utf-8; 
#设置证书部分
            ssl_certificate /var/www/html/apache-cert/ericfang.fr.cert.pem;
            ssl_certificate_key /var/www/html/apache-cert/ericfang.fr.key.key;
        ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4";
    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;
    }
}