将子域映射到子目录并将自定义标头映射到基本身份验证

将子域映射到子目录并将自定义标头映射到基本身份验证

我有一个需要支持的客户端库,它对子目录和自定义标头身份验证方法进行硬编码。服务器已将子目录用于其他用途,因此我考虑将子域 + 子目录映射到其他子目录。服务器使用基本身份验证。

我已正确将子域重写为备用子目录,但我在身份验证方面遇到了问题。我目前在自定义标头中传递了 base64 编码的“user:pass”,并尝试proxy_set_header设置身份验证标头。如何使用自定义标头中的值进行基本身份验证?

server {
    server_name subdomain.example.com;
    listen 443;

    ssl on;
    ssl_certificate /etc/nginx/ssl/example.crt;
    ssl_certificate_key /etc/nginx/ssl/example.key;

    rewrite ^/hardcodesubdir/(.*)$ https://example.com/newsubdir/$1;
    proxy_set_header Authorization "Basic $http_x_custom_header";
}

答案1

我设法让它与位置内的 proxy_pass 一起工作

server {
    server_name subdomain.example.com;
    listen 443;

    ssl on;
    ssl_certificate /etc/nginx/ssl/example.crt;
    ssl_certificate_key /etc/nginx/ssl/example.key;

    location /hardcodesubdir/ {
        proxy_set_header Authorization "Basic $http_x_custom_header";
        proxy_pass https://example.com/newsubdir/
    }
}

相关内容