【问题标题】:Can't access apache from Internet无法从 Internet 访问 apache
【发布时间】:2015-03-03 16:20:21
【问题描述】:

这一定是一个常见问题,但我没有找到任何合适的答案:

我在我的办公室局域网中运行的 apache 服务器上有一个网站。我可以查看所有计算机(甚至是通过 Wifi 的智能手机)的页面。

所有计算机都连接到支持端口转发的路由器(具有静态 IP)。

我将路由器端口 8080 转发到内部 IP 192.168.1.5:80,这是 apache 机器(xubuntu 14.04)。

问题是当我尝试从互联网上查看该网站时,我总是收到connection refused 响应。我尝试了http://www.canyouseeme.org,但响应仍然相同。当我从 LAN->Internet->Router->Apache 或直接从家庭 Internet->Router->Apache 尝试时,都会发生这种情况。 我知道(相当怀疑)路由完成了它的工作,因为如果我点击外部静态 IP:80 我会进入它的接口,而当我点击 IP:8080 我会得到connection refused 响应。 Canyouseeme 同意(它在等待密码时超时)。

有趣(?)的事情是我没有安装防火墙,apache2.conf 是默认设置。

有人可以帮忙吗?

【问题讨论】:

    标签: apache ubuntu-14.04 firewall


    【解决方案1】:

    终于一切都清楚了;我的 ISP 不允许设置路由器防火墙,所以我所做的每个设置都是无效的。

    因此,首先回顾一下,确保您的 ISP 确实在转发您的端口。

    但是我无法启动我的网站(zoneminder 应用程序),所以我写下解决方案以防其他人发现它有用:

    首先,我假设 Apache 在默认设置下运行没有问题。如果你想让一个站点(在你的系统中你会看到目录)作为你的 apache serer 的根站点,你必须为 apache 创建一个“规则”:

    首先通过执行复制位于/etc/apache2/sites-available/目录(在Ubuntu系统中)的000-default.conf文件

    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysite.conf
    

    mysite.conf 文件将是虚拟主机的设置,您需要相应地添加/更改内容:

    DocumentRoot /my/site/directory
        <Directory />
             Options FollowSymLinks
             AllowOverride None
        </Directory>
        <Directory /my/site/directory/>
             Options Indexes FollowSymLinks MultiViews
             AllowOverride None
             Order allow,deny
             Allow from all
        </Directory>
    

    不要忘记通过编辑/etc/apache2/ports.conf 来更改(如果需要)apache 正在侦听的端口。

    【讨论】:

      猜你喜欢
      • 2018-07-24
      • 2012-08-11
      • 1970-01-01
      • 1970-01-01
      • 2016-07-15
      • 1970-01-01
      • 1970-01-01
      • 2017-05-03
      • 1970-01-01
      相关资源
      最近更新 更多