Apache 本地与外部(域)

Apache 本地与外部(域)

我在 Ubuntu 服务器 10 上运行了一个 Apache 服务器,使用 Passenger 来运行 Ruby on Rails。我已在 Apache 的 sites-enabled 目录下配置了我的站点,可以使用内部 IP 地址 (192.168.XX) 访问该服务器,并且该站点按预期返回。但是,每当我尝试从外部访问该站点时,无论是通过域名还是与域名绑定的 IP 地址,该站点都不会返回。我在中间有一个路由器,它有一个静态 IP 地址,并且已打开端口转发(将 80/443 转发到服务器),我很确定问题不在那里。事实上,我甚至对 Ubuntu 服务器进行了 DMZ 以确保万无一失。此外,所有路由器防火墙选项都已关闭。所以问题来了...

我还需要对 Ubuntu 服务器做些什么才能允许外部请求的端口 80 流量吗?否则,是否需要在 Apache 中设置一些设置以允许域或外部 IP 地址端口 80 流量通过?

我对 Apache 还很陌生,所以,请对我宽容一点 :-)

答案1

检查 /etc/httpd/conf.d/ 下的配置文件,并确保允许、拒绝规则允许您尝试使用的包的外部连接。

答案2

这些设置有效。摘自 Passenger:

  <VirtualHost *:80>
  ServerName www.fippit.com
  DocumentRoot /var/www/fippit/public    # <-- be sure to point to 'public'!
  <Directory /var/www/fippit/public>
     AllowOverride all                   # <-- relax Apache security settings
     Options -MultiViews                 # <-- MultiViews must be turned off
  </Directory>

从网络方面来看,以下是我所做的其他更改:

/etc/网络/接口

auto eth0
iface eth0 inet static
address 192.168.1.7     # <-- my internal static IP address
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.2     # <-- my router IP address (port forwards 80)

/etc/hosts

192.168.1.7 fippit.com www.fippit.com

相关内容