我有一个奇怪的问题。我有一个运行在 Ubuntu 16.04 服务器上的网站,其中包含 Apache 2.4.18 。在开发人员的开头,我只能从我的计算机访问本地网络中的站点。我编辑主机文件以访问:
<本地服务器Ip> <网站网址>
例如:
192.168.1.30 test.website.com
我可以毫无问题地访问该网站。但现在,该网站需要从局域网外部可见,换句话说,从互联网上可见。因此,来自Networks的人员会添加我们的公共IP和域DNS以及站点的子域。这就是问题所在。
有时,当我尝试从外部,手机或家中访问网站时,网站显示正确,没有问题(有一些样式问题,但这是其他主题)。但是,有时候,我认为10次中有7次没有显示该网站,而是向我展示了Apache “It Works!” 页面。本地,我仍然看到网站正确,但从外部,问题仍然存在。
我在服务器中进行了测试,检查了网站的 access_log 。我看到当网站显示正确时,在日志中打印http请求:
“GET / HTTP / 1.1”200
但是,当它向我发出 “It Works!” 页面时,日志不会向我显示任何内容。
所以,我有两个理论:
1)有时,请求会被发送到其他服务器。
2)有时,请求会到达我的服务器,但其他请求与我的网站不同(例如,其他网址),如果有可能,请以任何方式。
有人知道如何验证和修复此问题?一些建议或指导可能发生的事情?
感谢。
编辑1:
来自您的评论:
@alanlittle:我没有常规访问日志,如何启用它? (说实话,我不知道我能)。关于 mod_rewrite ,它显示在phpinfo()的已加载模块条目中,是否可能是某种原因?
@Ray O'Donnell:这是我的虚拟主机配置示例:
<VirtualHost *:80>
DocumentRoot /var/inetpub/test.website.com
ServerName test.website.com
ServerAdmin eliacim.davila@xxxxxxx.xxx
ErrorLog "${APACHE_LOG_DIR}/test-error.log"
CustomLog "${APACHE_LOG_DIR}/test-access.log" common
</VirtualHost>
<Directory /var/inetpub/test.website.com>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
# Require all granted
</Directory>
@Jeff Puckett II:我们没有负载均衡器(据我所知)。我运行 nslookup 命令,它显示了这个:
Server: b.resolvers.Level13.net
Address: 4.2.2.2
Non-authoritative answer:
Name: test.website.com
Address: 189.219.xx.xxx (NOTE: Our Public IP)