0

全面披露:我是家庭服务器和 Magento 的新手。在专用的家庭服务器上运行带有 LAMP 和 Magento Commerce 1.7.0.2 的 Ubuntu Server 13.04。我已经配置了我的服务器的静态 IP、路由器的防火墙和端口转发,并且正在我的服务器上运行 ddclient 以将我的路由器的动态 IP 与 namecheap.com(我的域名和名称服务器提供商)同步。

当我使用静态 index.html 页面时,该页面使用我的服务器的静态 IP 从我的本地主机加载。该页面还使用我的路由器的 IP 和域名(通过代理网站或我的智能手机蜂窝网络)加载到 WAN 上。使用代理网站有助于避免环回超时。这将问题缩小到 Magento。

在 Magento 中使用 http://{localhostIP}/ 作为我的基本 URL 并加载 Magento 的 index.php 时,我能够使用我的服务器的静态 IP 在本地访问该文件。但是,当使用我的域名或路由器的 IP 通过 WAN 访问 Magento 时,它会显示“不可用,HTTP 错误 504:网关超时”。

因此,我尝试将我的域名添加为 Magento 中的基本 URL。现在我可以通过 WAN 访问 Magento,但不能通过 LAN。有没有人想出解决这个问题的方法?这与环回有关吗?

我能找到的关于这个问题的唯一两个线程最近没有得到解决或更新:http: //www.magentocommerce.com/boards/viewthread/273640/

http://www.magentocommerce.com/boards/viewthread/212885/

4

1 回答 1

1

有很多小的移动位,但我会尽力推测这里可能出了什么问题。

听起来您的配置正在通过您的 WAN 静态 IP 地址提供页面。并且只有您的 WAN 静态 IP 地址。

您的家庭 WAN 连接是否恰好是电缆调制解调器?ISP 通常会有本地防火墙,通常在您的电缆调制解调器本身上运行。这是因为在电缆调制解调器的早期,您可以浏览所有邻居的连接,因为您的邻居实际上是一个庞大的本地网络。人们开始入侵他们的邻居并下载他们的文件(通常是偶然共享的),因此有线电视公司的回应是通过防火墙将附近的每个人彼此隔离开来。所以你不能直接连接到邻居。这也有一个不幸的副作用,就是让你无法连接到自己(环回)。如果不是这样,这种配置可能会起作用。你会从有线电视公司的路由器上反弹数据包,返回你的 WAN 服务,然后再返回你的 NAT'

您的路由器不太可能做任何聪明的事情,例如识别传出数据包实际上是它自己面向外部的 IP 地址,然后将数据包快速返回。根据您拥有的路由器类型,您可以将其扭曲为执行此操作。

那么该怎么办?

您可以做的一件事是让网站在两个 IP 地址下提供服务;您的本地 IP 地址和远程 IP 地址。当您在 LAN 中访问站点时,请使用本地地址(类似于“magneto.local”),远程访问时,请使用远程地址。这显然有点尴尬。另一种解决方案是使用 DNS“视图”。如果您在 LAN 中控制自己的 DNS 服务器,则它可以在内部提供一个 IP 地址并允许外部服务正常运行,从而根据请求者是 LAN 内部还是 WAN 外部而产生不同的 IP 地址.

很大程度上取决于您的路由器和网关配置,以及您对本地名称服务的控制程度。我不熟悉 Magneto,但 Apache 肯定能够通过多个 IP 地址为一个网站提供服务。

于 2013-06-19T01:28:37.373 回答