Question

How do I specify multiple domains in server_name for nginx configuration?

Posted February 6, 2021 141 views
Nginx

My question is similar to https://www.digitalocean.com/community/questions/what-exactly-is-server_name-in-nginx-configuration-file But I want to make sure that I have the correct information. Here’s my scenario:

I’m running a Bitnami Mattermost virtual machine. If I access it via my LAN, it redirects to the IP Address (10.214.240.38) regardless of whether I put that in or its hostname (ac0ec-mattermost.local.mesh). To further complicate things, I want to access it from outside my network with example.com (not really, but you get the drift). But when I go to my domain, it tries to redirect me to 10.214.240.38 and fails.

Currently my configuration file has this:

server {
    listen  80 default_server;
    server_name 10.214.240.38;
    return  302 https://$server_name:443$return_uri;
}

Do I simply change that to

server {
    listen  80 default_server;
    server_name 10.214.240.38 ac0ec-mattermost.local.mesh exmaple.com;
    return  302 https://$server_name:443$return_uri;
}

or would it be something like

server {
    listen  80 default_server;
    server_name 10.214.240.38 ac0ec-mattermost example.com;
    return  302 https://$server_name:443$return_uri;
}

?

If it’s something completely different, I would appreciate the correct configuration (including if I have to create additional entries under the https section).

Thanks, and have a great evening. :)
Patrick.

Edited to add this:

Here is the relevant portion of my mattermost.conf file (which Nginx loads) with the changes that I think would work.

upstream backend {
    server 127.0.0.1:8065;
}

server {
   listen         80 default_server;
    server_name    10.214.240.38 ac0ec-mattermost.local.mesh example.com;
   return         302 https://$server_name:443$request_uri;
}

proxy_cache_path /opt/bitnami/nginx/cache levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_$
server {
   listen 443 ssl;
    server_name    10.214.240.38 ac0ec-mattermost.local.mesh example.com;

   ssl on;
   ssl_certificate /opt/bitnami/apps/mattermost/conf/certs/server.crt;
   ssl_certificate_key /opt/bitnami/apps/mattermost/conf/certs/server.key;
   ssl_session_timeout 5m;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
   ssl_prefer_server_ciphers on;
   ssl_session_cache shared:SSL:10m;

   location /api/v4/websocket {
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header X-Forwarded-Ssl on;
      client_max_body_size 50M;
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Frame-Options SAMEORIGIN;
      proxy_buffers 256 16k;
      proxy_buffer_size 16k;
      proxy_read_timeout 600s;
      proxy_pass http://backend;
   }
edited by MattIPv4

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
Submit an Answer
1 answer

Hi there @pdickey52761,

The Nginx configuration that you have in there actually looks good in terms of the server_name definition.

Are you still seeing the redirect with that configuration?

Regards,
Bobby