我已经创建了一个正在运行的节点程序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;
}
}