【问题标题】:Nginx proxy_pass from *.local.domain.com to *.domain.comNginx proxy_pass 从 *.local.domain.com 到 *.domain.com
【发布时间】:2021-02-13 21:33:50
【问题描述】:

我有 2 条不同的 dns 记录。一个用于指向公共 IP 地址(即 93.184.216.34)的domain.com,另一个用于指向本地 IP 地址(即 10.0.0.2)的local.domain.com,供同一网络上的计算机使用。

我有以下配置来代理_将本地子域传递给似乎可以工作的裸域:

server {
    listen 80;
    listen [::]:443 ssl;
    listen 443 ssl;
    
    # ssl config here

    server_name local.domain.com;

    location / {
        proxy_pass $scheme://127.0.0.1/;
        set $non_local_host domain.com;
        proxy_set_header Host $non_local_host;
        proxy_redirect http://$non_local_host/ http://$host/;
        proxy_redirect https://$non_local_host/ https://$host/;
    }
}

但我还需要子域才能工作。 foo.local.domain.com 应该代理到foo.domain.combar.baz.local.domain.com 应该代理到bar.baz.domain.com

我了解我需要复制上述服务器块。将server_name 更改为*.local.domain.com,但不确定如何正确设置$not_local_host 以指向正确的子域。

最接近的类似问题是:nginx sub-subdomain wildcard,但这是相反的方向(并且从未回答),而这个答案是对How can i pass subdomain as proxy_pass value in nginx?,但它针对不同的域(而不是子域),它是一些神奇的正则表达式我不明白。谢谢。

【问题讨论】:

    标签: nginx proxypass wildcard-subdomain


    【解决方案1】:

    你可以试试这个:

    map $host $non_local_host {
        ~^(.*\.)?local\.domain\.com    "${1}domain.com";
    }
    
    server {
        listen 80;
        listen [::]:443 ssl;
        listen 443 ssl;
        
        # ssl config here
    
        server_name .local.domain.com;
    
        location / {
            proxy_pass $scheme://127.0.0.1/;
            proxy_set_header Host $non_local_host;
            proxy_redirect http://$non_local_host/ http://$host/;
            proxy_redirect https://$non_local_host/ https://$host/;
        }
    }
    

    .local.domain.com 服务器名称将匹配 local.domain.com 及其任何子域。

    如果您的网站使用 cookie,您可能还需要一个 proxy_cookie_domain 指令:

    proxy_cookie_domain $non_local_host $host;
    

    【讨论】:

      猜你喜欢
      • 2019-01-22
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-28
      • 2016-12-22
      相关资源
      最近更新 更多