server { listen 443 ssl; listen [::]:443; ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/key.pem; root /var/www/html; index index.html index.htm index.nginx-debian.html; auth_basic "Admin"; auth_basic_user_file /etc/nginx/.htpasswd; server_name ~^(?<subdomain>.+)\.xxxxx\.com; location / { resolver 8.8.8.8; if ($subdomain ~* (\w+)\-(\w+)\-(\w+)) { proxy_pass https://$1.$2.$3; break; } if ($subdomain ~* (\w+)\-(\w+)) { proxy_pass https://$1.$2; break; } if ($subdomain ~* (\w+)){ proxy_pass https://$1.com; } } }