DNS/服务器更改导致空白页

DNS/服务器更改导致空白页

我们最近更换了测试|生产环境的服务器和主机。目前我们仍在测试,但我们的http://test.example.com,有时会向某些用户显示空白页。这种情况在桌面和移动环境中都发生过

我们使用 Amazon Route 53 DNS 作为 DNS,并且最近将托管服务提供商从 Rackspace 更改为 Linode。

配置也略有变化。Nginx 现在位于 apache 前面,用于静态资产。没有变化的是使用 php、mysql、ubuntu。

奇怪的是,99% 的时间里一切都运行正常,但在某些情况下,我们注意到我们的测试人员看到的是空白页。页面加载后似乎死机了,用户什么也看不到。我没有检查页面源代码(这是我接下来要做的事情),但这并没有发生在我身上。

nginx 服务器配置:

server {
    listen 80;
    server_name www.testdev.example.com;
    return 301 $scheme://testdev.example.com$request_uri;
}

server {
    listen 80;
    server_name example.bestride.com;
    root /srv/www/example.com/public_html;
    index index.php;

    location ~* ^.+\.(?:js|css|jpe?g|htc|xml|otf|ttf|eot|woff|gif|png|svg|ico|pdf|html|htm)$ {
            access_log off;
            expires 30d;
            #add_header Vary Accept-Encoding;
            tcp_nodelay off;
            open_file_cache max=3000 inactive=120s;
            open_file_cache_valid 45s;
            open_file_cache_min_uses 2;
            open_file_cache_errors off;
    }

    location / {
            try_files $uri @proxy;
    }

    location @proxy {
            include /etc/nginx/proxy_params;
            proxy_pass http://127.0.0.1:8080;
    }  

    location ~ /\.ht {
            deny all;
    }

}

阿帕奇:

<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName testdev.example.com
    ServerAlias www.testdev.example.com testdev.example.com
    DocumentRoot /srv/www/example.com/public_html/
    ErrorLog /srv/www/example.com/logs/error.log
    CustomLog /srv/www/example.com/logs/access.log combined

   <IfModule mpm_itk_module>
       AssignUserId webadmin www-data example
   </IfModule>

   <IfModule mod_rewrite.c>
       RewriteEngine On

       rewritecond %{http_host} ^www.testdev.example.com [nc]
       rewriterule ^(.*)$ http://testdev.example.com$1 [r=301,nc,qsa]

  </IfModule>

</VirtualHost>

我听说浏览器会缓存 DNS 以便于查找……等等。但这确实令人担忧,因为如果用户看到空白页,他们可能会放弃浏览。

清除浏览器缓存可以解决该问题,但普通用户不会这样做。

有人遇到过这样的问题吗?有什么建议吗?

谢谢 Brian

答案1

您已完全更改环境(DNS 提供商、数据中心提供商等)。在解决空白页问题时,我不会查看您的 nginx 配置,因为那离最终用户太远了。

首先要能够复制问题并收集数据。Chrome 或 IE 具有出色的开发人员工具 (F12),可让您在问题发生时记录所有记录及其结果(IE 甚至允许您将其记录在 XML 文件中)。然后检查问题出在哪里并从那里开始工作。

是的,我见过随机重置连接的情况。一次是防火墙超载。另一次是 HTTP 服务器的 keep-alive 设置错误。这种情况层出不穷。您最好从最终用户端跟踪确切的事务,然后从那里开始工作。

相关内容