用于网站和Node.js应用程序的NGINX配置

时间:2018-08-30 10:51:29

标签: node.js express nginx

我尝试为网站和nodejs应用程序设置我的NGINX服务器。 我有两个正确指向服务器的子域,都指向相同的IP。

one.mydomain.com (main site) --> 123.456.789
two.mydomain.com (NODE App) --> 123.456.789

我已经设置了我的网站和我的nodejs应用程序,因此可以同时访问它们。

我的默认配置是

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;
        server_name _;
        location / {
                try_files $uri $uri/ =404;
        }
}

我的one.mysite.com配置为:

server {
        listen 80;
        listen [::]:80;
        root /var/www/html/one.mysite.com;
        index index.html;
        server_name one.mysite.com;
        location / {
                add_header 'Access-Control-Allow-Origin' *;
                try_files $uri $uri/ /index.html?$query_string;
        }
}

和我的two.mysite.com(节点应用程序)是:

server {
        listen 80;
        listen [::]:80;
        root /var/www/html/two.mysite.com;
        index index.html;
        server_name two.mysite.com;
        location / {
                proxy_pass http://localhost:8080;
                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;
                add_header 'Access-Control-Allow-Origin' *;
                # try_files $uri $uri/ =404;
        }
}

问题在于,鉴于NODE应用程序正在侦听端口8080,我无法弄清楚如何避免访问one.mydomain.com:8080并访问NODE js应用程序。

我怎么能做到这一点?有没有办法告诉NGINX阻止在端口one.mydomain.com上访问8080

谢谢

0 个答案:

没有答案