【问题标题】:Wamp Server: Online but inaccessible from outsideWamp Server:在线但无法从外部访问
【发布时间】:2014-11-13 08:33:12
【问题描述】:

配置:

OS-> Win 7 x64
Wamp server versions-> wampserver2.2e - php5.4.3 - httpd-2.4.2 - mysql5.5.24
Skype is not installed. Port 80 is available.
hosts file has the lines-> 
127.0.0.1       localhost
::1             localhost
httpd.conf file has the required value `Require all granted` in  #onlineoffline tag

问题:

我需要将我的服务器上线(是的,我了解其中的风险,但这是我需要做的临时事情)。我也了解到已经发布了类似的问题,并且我已经研究了几乎所有问题及其解决方案(您将在下面找到)。

问题说明: Wamp 图标为绿色。状态显示为在线。使用 localhost 一切都可以轻松完成。但是当我使用我的公共 IP 时,我得到的页面无法显示。我检查了访问日志,我尝试访问时似乎没有任何日志。

尝试过的解决方案:(我猜都是)

  • 使用路由器,我尝试了端口转发。我也试过 不使用路由器。
  • 尝试启用和禁用防火墙。
  • 尝试了“允许”行。
  • 已尝试安装/删除/重新启动 Apache 服务
  • 尝试将localhost:80 更改为<ip>:80
  • 尝试了多个在线/离线切换
  • 尝试安装 2.5 版的 32 位变体
  • 尝试安装 64 但版本 2.5 的变体
  • 尝试使用Require all granted 代码之前的空格(从无到 2)

注意

在我之前安装的 Windows 中使用的一切都正常。重新安装后,我一生都记不起为使其正常工作而更改的设置。我有备份,但我在看到绿色图标的那一刻就删除了(我傻了!)。我一定已经阅读了无数的解决方案,但我目前被困like this person (wamp server forum)。如果有人能帮我解决这个问题,我将不胜感激。

附加信息:

<Directory "c:/wamp/www/"> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    # onlineoffline tag - don't remove
    Require all granted 
</Directory> 

【问题讨论】:

  • 请在#onlineoffline tag部分周围显示您的https.conf文件。
  • @RiggsFolly 选项索引 FollowSymLinks AllowOverride All # Online --> 要求所有已授予 # onlineoffline 标签 - 不要删除 要求所有已授予
  • 假设您的网站位于 www 文件夹中,看起来没问题。您确定您已将端口转发到正确的内部 IP 地址吗?您还确定运行 WAMPServer 的 PC 使用的是静态 IP 地址吗?
  • 端口转发正确。该站点位于 www 文件夹下。以前的设置可以正常工作。唯一改变的是操作系统,wamp 设置。关于静态 IP,我的连接有一个动态 IP,但分配的 IP 会一直保留到重新连接。我现在所做的是与 ISP 的技术部门交谈。技术人员告诉我,问题是由于分配了 IPv6 IP。为了证明,他为我的机器分配了一个静态 IPv4 IP,并且该网站在线运行。这是一个可能的问题吗?如果是这样,我不必获得静态 IP 就可以解决它吗?

标签: apache wamp


【解决方案1】:

一个简单的步骤就可以了:

更改以下属性: 要求全部授予

现在重新启动所有服务并从外部访问您的盒子。

【讨论】:

    【解决方案2】:

    回复:静态 IP。 该评论应该意味着您运行 WAMPServer 即 Apache 的 PC 应该具有静态 IP,因此当您重新启动 PC 或路由器时,它始终获得相同的 IP 地址,以便始终从您的路由器转发端口到您的网络服务器 PC保持不变,因此端口转发始终转发到您内部网络中的正确 PC。

    在本节中:

    <Directory "c:/wamp/www/"> 
        Options Indexes FollowSymLinks 
        AllowOverride All 
        Require all granted 
        # onlineoffline tag - don't remove
        Require all granted 
    </Directory> 
    

    你有这个语句Require all granted 出现了两次,你只需要它一次。

    Apache 2.4.2 支持 IPV6,因此它应该很乐意接受 IPV6 范围内的连接。

    您可以检查您的 Apache Listen 指令,您可能在 httpd.conf 文件中有类似的内容

    Listen 0.0.0.0:80
    

    0.0.0.0 部分将告诉 Apache 仅侦听 IPV4 网络。如果是这种情况,请将其更改为

    Listen 80
    

    这样它就可以同时监听 IPV4 和 IPV6。

    或者

    Listen 0.0.0.0:80
    Listen [::0]:80
    

    您的路由器也支持 IPV6 吗?如果不是,那么您的路由器将不会接受来自 IPV6 范围的任何外部连接,因此这些连接当然不会通过您的路由器。检查您的路由器是否支持 IPV6,如果您启用了 IPV6,是否是可选功能!

    【讨论】:

    • 嗨.. 抱歉耽搁了。有家庭紧急情况。因此,我已按照您的建议检查了设置。收听设置为Listen 80Require all granted 值仅设置一次。编辑问题的人错误地更新了它。最后一点我还在努力。我曾假设默认情况下所有路由器都支持 IPv6。我使用的是路由器的最新固件(TP Link 841N)。我仍在与公司的技术支持团队核实这一点。据我所知,我认为这可能是问题所在(我的路由器可能不支持 IPv6)。刷 dd-wrt ​​有用吗?
    • 最新更新。好像我的路由器不支持 IPv6。好消息是技术人员说刷新 dd-wrt ​​固件应该启用 IPv6 支持。打算试试这个。非常感谢@RiggsFolly
    【解决方案3】:

    我只是将 onlineoffline 标签作为评论,它起作用了:

    #   onlineoffline tag - don't remove
     Require local
    

    只要越过警告并评论这个

    #   onlineoffline tag - don't remove
    # Require local
    

    可选:您可以添加,只是为了确定

    Order Allow,Deny
    Allow from all
    

    两者都为我工作。

    感谢这篇文章底部的链接,我找到了解决方案:页面上的How to allow remote access to my WAMP server for Mobile(Android)https://gist.github.com/samvaughton/6790739

    【讨论】:

      猜你喜欢
      • 2015-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 2021-01-12
      相关资源
      最近更新 更多