我运行的是 Debian 6 LEMP 服务器,它有多个虚拟主机,大约 5 个站点运行正常。但我刚刚尝试添加另一个,但不知为何就是不起作用。我所说的不起作用是指在 Chrome 中我收到“哎呀!Google Chrome 无法连接到 subdomain.domain.net”错误。
出于安全考虑,我已将域名更改为子域名.example.com并且 IP 已被屏蔽。
Hosts 文件(我有多个子域):
xxx.xxx.xx.xxx *.example.com *.example
服务器块:
server {
listen 80;
server_name subdomain.example.com;
access_log /srv/www/subdomain.example.com/logs/access.log;
error_log /srv/www/subdomain.example.com/logs/error.log;
root /srv/www/subdomain.example.com/public_html;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
我已经创建了指向目录中文件的系统链接/etc/nginx/sites-enabled/
并重新启动/重新加载了 nginx。
DNS 似乎很好:
# ping -c 2 subdomain
PING subdomain.example.com (xxx.xxx.xx.xxx) 56(84) bytes of data.
64 bytes from www.example.com (xxx.xxx.xx.xxx): icmp_req=1 ttl=64 time=0.035 ms
64 bytes from www.example.com (xxx.xxx.xx.xxx): icmp_req=2 ttl=64 time=0.048 ms
使用 cURL 检查文件是否有效:
# curl http://subdomain.example.com
HTML - OK
清空了浏览器缓存,但仍然没有结果。
我遗漏了什么吗?正如我提到的,我目前在服务器上运行着几个网站,所以 php-fpm 等都运行正常。任何帮助都将不胜感激!
干杯,
戴夫
答案1
由于您没有提供足够的信息,因此很难为您提供帮助...但我还是会尝试一下
- hosts 文件不支持屏蔽,因此您不能在 hosts 文件中使用“*.”
- 您执行的 ping 命令来自哪里?服务器还是客户端?
- 对于 curl 使用 -v 检查你的主机/IP
- 你的 chrome 是否启用了某种代理?这可能会路由到你期望的路径。
答案2
为我设置域名的人将其指向错误的服务器 IP,所以这就是问题所在。
小学生的错误,很抱歉打扰了大家!
顺便提一下,hosts 文件中的 *.domain.com 引用确实有效。