网上搜了半天没啥有效信息,询问一下万能的 v 友
比如绑定*.domain.com 的域名,如果想加反向代理的话,一般写法是
server {
   listen 80;
   server_name ~^(?<subdomain>.+)\.m\.domain\.com$;
   location /{
       proxy_pass http://xxx/;
       proxy_set_header Host $host;
   }
}
这里利用 /做路由,但是如果我想要 a.domain.com 和 b.domain.com 分别代理不同的网页,要怎么识别 a 和 b 的部分呢?
     1 
                    
                    dorothyREN      2023-02-14 00:12:02 +08:00 
                    
                    if 判断一下就行吧 
                 | 
            
     2 
                    
                    OutOfMemoryError      2023-02-14 00:18:37 +08:00 
                    
                    
                 | 
            
     3 
                    
                    julyclyde      2023-02-14 08:54:16 +08:00 
                    
                    虽然能实现,不过还是建议重新梳理一下需求 
                 | 
            
     4 
                    
                    dode      2023-02-14 09:10:48 +08:00 
                    
                    server { 
                listen 80; server_name a.domain.com; location /{ proxy_pass http://xxx/; proxy_set_header Host $host; } } server { listen 80; server_name b.domain.com; location /{ proxy_pass http://xxx/; proxy_set_header Host $host; } } server { listen 80; server_name ~^(?<subdomain>.+)\.m\.domain\.com$; location /{ proxy_pass http://xxx/; proxy_set_header Host $host; } }  | 
            
     5 
                    
                    xuanbg      2023-02-14 09:37:01 +08:00 
                    
                    为什么不写成两个 server 呢? 4 楼那样? 
                 | 
            
     6 
                    
                    chinni      2023-02-14 09:45:21 +08:00 via Android 
                    
                    sniproxy 不就行…… 
                 | 
            
     7 
                    
                    rekulas      2023-02-14 10:28:12 +08:00 
                    
                    location 里面可以写 if 判断 一个 server 也可以 
                if ( $host = 'a.domain.com' ){ proxy_pass https://www.baidu.com:443; }  | 
            
     8 
                    
                    xiang0818      2023-02-14 10:44:12 +08:00 
                    
                    最好用不同的域名配置 
                 | 
            
     9 
                    
                    wxyrrcj      2023-02-14 13:45:04 +08:00 
                    
                    *.baidu.com 
                 | 
            
     10 
                    
                    FrankAdler      2023-02-14 15:40:03 +08:00 via iPhone 
                    
                    二楼 map 正解 
                 | 
            
     11 
                    
                    salmon5      2023-02-15 10:56:34 +08:00 
                    
                    #4 的方法无疑是最好的,大道至简; 
                map 弄复杂了,map 适合更复杂的场景。  |