Nginx 提供本地文件服务并执行代理传递

问题描述 投票:0回答:1

我们正在尝试通过 Nginx 代理 OCSP 响应程序查找。客户端在其证书中硬编码了 OCSP 查找,例如 http://example.com/OCSP/EMSRootCAResponder,我们使用内部 DNS 将其定向到 Nginx 主机。 Nginx 主机收到相同的 DNS 响应,因此我们必须告诉 proxy_pass 使用外部解析器,因此

proxy_pass
不会指向自身,而是指向外部托管的 OCSP 响应器。

我们正在使用

resolver
尝试强制 Nginx 使用外部 DNS 解析器来解析外部 OCSP 服务。

server {
    listen 80;
    server_name ocsp.example.com;
    location = / {
        resolver 8.8.8.8 valid=30s;
        set $domain ocsp.example.com;
        proxy_pass http://$domain;
    }
}

但 Nginx 仍在尝试提供本地资源,而不是将请求代理到外部上游目标。

ocsp-proxy  | 2023/12/08 16:34:32 [error] 21#21: *1 open() "/etc/nginx/html/OCSP/EMSSSPCAResponder" failed (2: No such file or directory), client: 10.x.x.x, server: ocsp.example.com, request: "POST /OCSP/EMSSSPCAResponder HTTP/1.1", host: "ocsp.example.com"

思考为什么 Nginx 不执行

proxy_pass
而是尝试服务本地资源?

nginx proxy pki ocsp
1个回答
0
投票

根据评论:我使用的

location = /
与请求不匹配
POST /OCSP/EMSSSPCAResponder
- 我打算使用
location /
匹配任何 URL。

© www.soinside.com 2019 - 2024. All rights reserved.