我在 Linode 服务器上托管两个网站。一个网站是静态的HTML
,另一个网站使用Wagtail
基于框架构建的Django
。我使用nginx
。现在,网站运行正常,但最近我意识到,并不是每个人都这样。这个问题似乎与他们特定的 ISP 有关,它导致人们看到此消息:
即使我点击此时,该网站也不会提供服务。
这似乎是 ISP 的问题,但事实是,对我的网站有问题的人对其他网站都没有问题,所以我可以做些改变来解决这个问题。如果能提供任何关于如何解决此问题的指示,我将不胜感激!
—————————————————
以下是我的网站nginx
配置Wagtail/Django
:
server {
server_name www.gagatsis.com;
return 301 $scheme://gagatsis.com$request_uri;
}
server {
server_name gagatsis.com;
root /srv/www/gagatsis.com/code/;
access_log /srv/www/gagatsis.com/code/logs/access.log;
error_log /srv/www/gagatsis.com/code/logs/error.log;
location /static/ {
root /srv/www/gagatsis.com/code/;
}
location /media/ {
root /srv/www/gagatsis.com/code/;
}
location / {
proxy_pass http://127.0.0.1:8000;
}
}
另一个是:
server {
server_name www.xathin.com;
return 301 $scheme://xathin.com$request_uri;
}
server {
listen 80;
server_name xathin.com;
root /srv/www/xathin.com;
index index.htm index.html;
}
答案1
您的服务器同时具有 IPv4 和 IPv6 地址,但您的 nginx 配置仅监听 IPv4。
$ host gagatsis.com
gagatsis.com has address 139.162.253.225
gagatsis.com has IPv6 address 2a01:7e00::f03c:91ff:fe2c:cf3f
gagatsis.com mail is handled by 10 mail.gagatsis.com.
$ curl -s -6 gagatsis.com | grep h1
<h1>Welcome to the server!</h1>
$ curl -s -4 gagatsis.com | grep h1
<h1>Alexander Gagatsis</h1>
通过将此行添加listen [::]:80 ipv6only=on;
到所有服务器块来修复此问题。