apache nodejs 代理服务器

apache nodejs 代理服务器

我已经创建了一个正在运行的节点程序http://example.com:3000/node/index.html我想“隐藏”端口(3000)。

我一直读到我需要代理服务器,因此我以不同的方式配置了 apache,但无法达到我想要的效果。

例如我使用过:

<VirtualHost myip:8443 myip:8080>     
ServerName example.com    
ServerAlias www.example.com     
DocumentRoot /home/www/  
ProxyPreserveHost On 
ProxyPass /node http://example.com:3000/ 
ProxyPassReverse /node http://example.com:3000/   
</VirtualHost>

请帮忙!!

答案1

尝试这个 Apache 配置:

<VirtualHost myip:80>     
     ServerName example.com    
     ServerAlias www.example.com     
     ProxyPreserveHost On 
     ProxyPass /node http://example.com:3000/node 
     ProxyPassReverse /node http://example.com:3000/node
</VirtualHost>

答案2

从你的问题中我得知,你对此还很陌生,我将利用这个机会推动你使用 nginx 而不是 apache,因为前者在处理非 php 网站时更易于使用。此外,我可以从我自己的服务器复制粘贴配置。将以下内容放入/etc/nginx/sites-enabled/my-site.conf

server {
        listen 80;
        listen [::]:80;
        server_name example.com;
        location / {
            proxy_pass http://localhost:3000;
        }
}

相关内容