Answer a question

I am new to nginx. I am having trouble with my setup, I want my server to run with multiple port on public.

For example:

server {
  listen 443 ssl;
  server_name <https - mydomainname>;
  ssl_certificate <location cert>;
  ssl_certificate_key <location key>;
    location /tags.txt {
      add_header 'Access-Control-Allow-Origin' '*';
    }
}

From the above setup I am now able to access <https - mydomainname> perfectly. But what if I have http://localhost:6006 and http://localhost:5005 multiple ports in my localhost and I want to publish it. I tried to access it using this https - mydomainname : port 6006 and https - mydomainname : port 5005 but it fails.

Should I make a setup for another port? Like for port 6006

server {
 listen 6006 ssl;
 server_name <https - mydomainname>;
 ssl_certificate <location cert>;
 ssl_certificate_key <location key>;
  location /tags.txt {
    add_header 'Access-Control-Allow-Origin' '*';
    proxy_pass http://localhost:6006;
  }
}

and port 5005

server {
 listen 5005 ssl;
 server_name <https - mydomainname>;
 ssl_certificate <location cert>;
 ssl_certificate_key <location key>;
  location /tags.txt {
    add_header 'Access-Control-Allow-Origin' '*';
    proxy_pass http://localhost:5005;
  }
}

How to fix it?

Answers

You can have multiple listen directives per server:

server {
 listen 5005 ssl;
 listen 6006 ssl;
 server_name <https - mydomainname>;
 ssl_certificate <location cert>;
 ssl_certificate_key <location key>;
  location /tags.txt {
    add_header 'Access-Control-Allow-Origin' '*';
  }
}
Logo

开发云社区提供前沿行业资讯和优质的学习知识,同时提供优质稳定、价格优惠的云主机、数据库、网络、云储存等云服务产品

更多推荐