虚拟主机中的代理形成外部IP?
Posted
技术标签:
【中文标题】虚拟主机中的代理形成外部IP?【英文标题】:A proxy in a virtual host form an external ip? 【发布时间】:2020-01-01 17:01:46 【问题描述】:所以我在同一台服务器上有三个node
应用程序,它们都启动到不同的本地主机端口。有了这个,我正在尝试做一种路由器,为每个应用程序创建一个代理,然后将此代理放在虚拟主机中。目前我正在本地网络上对此进行测试,但将来它将在“真实”服务器上。
举个例子,我的路由器在0.0.0.0:3000
,我的一个应用在0.0.0.0:3001
。如果我尝试为路由器上的应用程序创建代理,这就是它的样子:
app.use('/*', proxy( target: 'http://0.0.0.0:3001', changeOrigin: true ));
当我继续 http://localhost:3000
时它可以工作。但它不在虚拟主机中,所以在这里:
app.use('/*',
vhost('test.*', proxy( target: 'http://0.0.0.0:3001', changeOrigin: true ))
);
它仍然有效,但仅适用于 http://test.localhost:3000
。
如果我尝试通过我的 IP 访问它(mydomain.com
在我的hosts
文件中映射到我的 IP,您可以在下面看到它):http://test.mydomain.com
express 回复我Cannot GET /
。即使在mydomain.com
上,它也可以在没有虚拟主机的情况下正常工作。
这是我的hosts
文件(我不确定共享此 IP 是否安全,所以我屏蔽了其中的一部分):
192.168.*.*:3000 mydomain.com
我使用的包:http-proxy-middleware、vhost、express。
我的最后一个问题是:我怎样才能让这个虚拟主机在 localhost
之外的另一个 IP/域上工作?
更新:
我不知道这些信息是否有用,但即使我将www.google.com
放在我的代理中与虚拟主机,它也不起作用。
【问题讨论】:
试试this 【参考方案1】:我放弃了用node
做这件事的想法,这会造成太多问题。
我最终得到了一个 nginx 反向代理。经过一些研究,我似乎想要做一个反向代理,而且它很有效,非常适合。
https://fr.wikipedia.org/wiki/Proxy_inverse
【讨论】:
以上是关于虚拟主机中的代理形成外部IP?的主要内容,如果未能解决你的问题,请参考以下文章
需要使用虚拟主机中的 apache 代理测试从我的本地主机到外部服务器的 html 页面的登录