2013-02-19 209 views
0

我在端口3010(domain.com:3010)上運行的Node.js中有一個應用程序。是否有可能使其在端口80(domain.com)上運行?端口80上的Node.js

我有一個CentOS的VPS服務器。 我搜索了很多,但沒有任何工作。

+0

你可以訪問應用程序的源代碼? – etienne 2013-02-19 17:56:33

+0

是的,我有,但我不能更改爲端口80,因爲它被Apache使用 – 2013-02-19 18:52:32

+2

然後有Apache重定向請求80到3010.你肯定不能有幾個服務器在同一個端口上偵聽! – etienne 2013-02-19 18:58:54

回答

1

this article

<VirtualHost *:80> 
    ServerName node.mydomain.com 
    ProxyRequests off 
    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 
    <Location /> 
     ProxyPass http://localhost:3010/ 
     ProxyPassReverse http://localhost:3010/ 
    </Location> 
</VirtualHost> 
+0

謝謝!這是我正在尋找的。 – 2013-02-21 14:19:46

+0

嘿!,這真棒我在5分鐘內工作,但POST請求不起作用,這是隻爲GET或我錯過了什麼? – pjnovas 2013-03-22 23:49:03

0

您可以更改應用配置中的端口或配置端口以在路由器中進行響應。

1

描述您可以創建一個虛擬主機IMO這是更好地使用Nginx的,而不是在阿帕奇的Node.js的前面 配置示例(我/etc/nginx/conf.d/default.conf文件)

upstream my-node-app { 
     server 127.0.0.1:3000; 
    } 

    server { 
     listen  80 default_server; 
     #server_name _; 
     server_name www.domain.com domain.com; 


     access_log /var/log/nginx.access.log main; 

     location/{ 
      #root /usr/share/nginx/html; 
      #index index.html index.htm; 
      proxy_pass http://127.0.0.1:3000/; 
     } 

     error_page 404    /404.html; 
     location = /404.html { 
      root /usr/share/nginx/html; 
     } 

     # redirect server error pages to the static page /50x.html 
     # 
     error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
      root /usr/share/nginx/html; 
     } 


    }