首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[交流]请教下 nginx 反代配置

发布于 2024-12-16 20:52:22
1
190

我想自建一个 docker 的镜像源, 写了个配置文件反代 registry1.docker.io, 同时希望访问这个域名根路径的时候不要反代, 返回网站目录下的 index.html但我的配置文件没...

我想自建一个 docker 的镜像源, 写了个配置文件反代 registry-1.docker.io, 同时希望访问这个域名根路径的时候不要反代, 返回网站目录下的 index.html

但我的配置文件没有按照预期那样工作, 直接访问域名根路径的时候还是反代到了 registry-1.docker.io 导致返回 404, 希望有熟悉 nginx 的老哥帮忙看看, 这要怎么修改?

我的 server 配置如下

	location = / {
		add_header Cache-Control private;
		alias /var/www/html/;
		index index.html;
	}
	 
	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;
	}
评论 (1)
  • 久久在线

    久久在线 2024-12-16 20:54:13 1#


    你还需要转发 auth.docker.io 来完成验证
    
    # location 要多加这一段
    location /token {
    resolver 8.8.8.8 valid=600s;
    proxy_pass https://auth.docker.io;
    
    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;
    ​
    proxy_set_header Authorization $http_authorization;
    proxy_pass_header Authorization;
    ​
    proxy_buffering off;
    }
一个月内的热帖推荐
天启
Lv.1普通用户

259

帖子

20

小组

518

积分

赞助商广告
站长交流