美文网首页Linux运维
nginx配置泛域名转发到子目录nginx泛域名转发到泛域名

nginx配置泛域名转发到子目录nginx泛域名转发到泛域名

作者: yichen_china | 来源:发表于2020-12-11 09:26 被阅读0次

    nginx泛域名转发到泛域名

    resolver 8.8.8.8; #必须配置!!!不然无法代理
    
        server {
            listen       80 default_server;
            listen       [::]:80 default_server;
            server_name  _;
            root         /usr/share/nginx/html;
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location / {
                #default_type text/html;
                 
                #正则截取域名前缀,例如www.xxx.com截取只要www
                if ( $host ~* (.*)\.(.*)\. ) {
                    set $domain $1;
                }
                set $url https://$domain.xxx.com$request_uri;
                proxy_pass $url;
    
    
                #return 200 $domain;
                #return 200 $url;
            }
        }
    

    有的时候,我们需要配置一些自定义的子域名,如:

    test.user.demo.com
    a01.user.demo.com
    这时候就需要域名的 DNS 解析一个泛域名 *.user.demo.com 到服务器,Nginx 可以配置如下:

    子域名转发到子目录

    server {
        listen       80;
        server_name ~^([\w-]+)\.user\.demo\.com$;
    
        location / {
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header        Host $http_host;
            proxy_set_header        X-NginX-Proxy true;
            proxy_pass              http://127.0.0.1:8080/$1$request_uri;
        }
    }
    

    以上配置表示:

    test.user.demo.com/path?a=1 -> 127.0.0.1:8080/test/path?a=1
    a01.user.demo.com/path?a=1 -> 127.0.0.1:8080/a01/path?a=1
    这样后端就可以根据子目录解析不同的规则,甚至 Nginx 可以再进行链接重写。

    子域名配置不同的目录

    server {
        listen       80;
        server_name ~^([\w-]+)\.user\.demo\.com$;
    
        root /home/user/wwwroot/user/$1;
    }
    

    以上配置可以把不同的子域名分发到不同的目录中,做到路径分离的功能,如:

    test.user.demo.com -> /home/user/wwwroot/user/test;
    a01.user.demo.com -> /home/user/wwwroot/user/a01;

    相关文章

      网友评论

        本文标题:nginx配置泛域名转发到子目录nginx泛域名转发到泛域名

        本文链接:https://www.haomeiwen.com/subject/gwodgktx.html