Welcome! Log In Create A New Profile


Wildcard subdomains in Nginx

Kunal Punjabi
July 22, 2020 02:42AM
I've been struggling with setting up nginx subdomains on my linode instance
and setting up CNAME redirects.

*What I need is to be able to do:*

1. First set up wildcard subdomains on my server (tinyadults.com), so that
users can go to abc.tinyadults.com, xyz.tinyadults.com, etc.
My server is running nuxt.js on port 4001 (default port is 3000 but I chose
to use 4001 as a non-standard port), so I guess I have to use reverse
proxy_pass http://localhost:4001;

2. Then for my users I need to set up CNAME redirects from domain1.com to
abc.tinyadults.com, and from domain2.com to xyz.tinyadults.com, so that if
I visit domain1.com , it would serve the contents (without redirecting me)
of abc.tinyadults.com. For testing purposes I have an additional domain (
passivefinance.com) that we could use.

However, I've not been able to get step 1 working. Can someone who is
experienced with nginx setup please guide me?

Below is my nginx config from sites-available/tinyadults.com.conf:

server {

index index.html index.htm;

server_name tinyadults.com www.tinyadults.com;

location / {

# WARNING: https in proxy_pass does NOT WORK!! I spent half a day
debugging this.

#proxy_pass https://localhost:4001;

proxy_pass http://localhost:4001;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection 'upgrade';

proxy_set_header Host $host;

proxy_cache_bypass $http_upgrade;


# Kunal: create a custom 404 nginx page, from

error_page 404 /custom_404.html;

location = /custom_404.html {

root /etc/nginx/sites-available/custom_nginx_error_pages;



listen [::]:4001 ssl http2; # managed by Certbot, modified by Kunal to
add http2

listen 4001 ssl http2; # managed by Certbot, modified by Kunal to add

#Install SSL certificates and configure https:// on a per-domain-basis
by running:

#sudo certbot --nginx

#(when prompted, be sure to select the option to set up redirects from
http to https and effectively "disable" http)

/etc/letsencrypt/live/tinyadults.com-0001/fullchain.pem; # managed by

/etc/letsencrypt/live/tinyadults.com-0001/privkey.pem; # managed by Certbot

include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


server {

server_name tinyadults.com;

if ($host = tinyadults.com) {

return 301 https://$host$request_uri;

} # managed by Certbot

listen 80 default_server;

listen [::]:80 default_server;

return 404; # managed by Certbot

nginx mailing list
Subject Author Posted

Wildcard subdomains in Nginx

Kunal Punjabi July 22, 2020 02:42AM

Re: Wildcard subdomains in Nginx

Francis Daly July 22, 2020 06:54AM

Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 87
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready