IP 重定向后访问网站

IP 重定向后访问网站

我们使用 Apache2 在本地网络的一个系统上托管多个站点。其中一个站点如下:

<VirtualHost *:80>
    ServerName wiki.idi.local
    DocumentRoot /srv/dokuwiki/engineering
</VirtualHost>

在我们的本地 DNS 服务器上,我们将地址 wiki.idi.local 转发到托管该站点的 PC,一切都按预期工作。

从本周开始,我们通过将本地 IP 地址映射到外部 IP 地址(通过代理重定向)获得了一种从外部访问本地网络的方法。例如,地址 3.205.151.6(外部)被重定向到 172.16.1.6(内部)。对于 VirtualHost 中 DocumentRoot 为 localhost:port 的站点,这种方法效果很好。在这种情况下,我们只需调用 3.205.151.6:port 即可访问我们的系统。问题是,在上述情况下,我找不到仅通过 IP 访问站点的方法。有没有办法在不访问执行转发的代理的情况下做到这一点?

答案1

您可能需要在 DNS 软件中设置视图,以便来自互联网的 DNS 查询可以使用公共 IP 地址进行回复,而来自本地网络的 DNS 查询可以使用私有 IP 进行回复。有关更多信息例如检查此链接

在 Apache 端,您需要添加一些公共名称,因为 .local 域名无法解析。假设您拥有自己的域名,idi.com您可以使用类似以下内容更新您的 VirtualHost

<VirtualHost *:80>
    ServerName wiki.idi.local
    ServerAlias wiki.idi.com
    DocumentRoot /srv/dokuwiki/engineering
</VirtualHost>

并确保 wiki.idi.com 的公共 DNS 视图使用 IP 响应3.205.151.6,并且您可以为相同的 wiki.idi.com 设置私有 DNS 视图来回答,这样您根本172.16.1.6不需要域名。wiki.idi.local

相关内容