如何在 apache 中配置子域名重定向到内部/本地 IP

如何在 apache 中配置子域名重定向到内部/本地 IP

默认情况下,当我访问我的外部 IP 或无 IP 域时,我会停留在我的互联网路由器页面上,直到我为我的网站设置 apache 并在路由器中打开端口 80...

我的问题是:
如何在我的服务器机器 192.168.1.104 上的 apache 中配置重定向或重定向到本地 IP 为 192.168.1.254 的路由器?

我的目标是在 no-ip 中创建一个子域名,如 router.example.com,当我访问它时会出现我的路由器的登录页面(我家里的 ip 是 192.168.1.254)

我尝试过这个:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName router.example.com
    Redirect permanent / http://192.168.1.254

    ErrorLog ${APACHE_LOG_DIR}/router-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/router-access.log combined

</VirtualHost>

但从外部来看不起作用......

答案1

(如果我理解正确的话(也可能不正确),您的路由器会将端口 80 上的所有流量转发出去,而且您无法再从外部访问路由器的页面,因为所有流量都会“跳过”转发到您的 Apache 服务器。

根据你问题的后半部分,我认为你正在寻找mod_proxy,而不是重写。代理将允许您将流量反弹回路由器并提供您想要的路由器控制页面。

我没有使用 mod_proxy 的经验(在这种情况下我倾向于使用 nginx),但是粗略浏览一下文档就会发现这种配置是可行的:

ProxyPass / http://192.168.1.254
ProxyPassReverse / http://192.168.1.254

它可能需要一些调整。

相关内容