Назад | Перейти на главную страницу

Изменение 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;
    }

}

apache:

<VirtualHost *:8080>
    ServerAdmin blah@blah.com
    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 для облегчения поиска .. бла-бла-бла. Но это реальная проблема, потому что пользователи могут упасть, если увидят пустую страницу.

Очистка кеша браузера решает проблему, но обычный пользователь этого не делает.

Кто-нибудь сталкивался с такой проблемой? Какие-либо предложения?

Спасибо Брайан

Вы полностью изменили свою среду (поставщик DNS, поставщик центра обработки данных и т. Д.). Я бы не стал смотреть на вашу конфигурацию nginx, потому что это слишком далеко от конечного пользователя при устранении неполадок с пустыми страницами.

Начните с возможности воспроизвести проблему и собрать данные. В Chrome или IE есть отличные инструменты разработчика (F12), которые позволят вам записывать все записи и их результаты, когда возникает проблема (IE даже позволяет вам записывать это в файл XML). Затем осмотрите, где что-то ломается, и оттуда работайте.

Да, я видел это со случайным сбросом соединений. Когда-то это был перегруженный брандмауэр. В другой раз был HTTP-сервер с неправильными настройками проверки активности. До бесконечности. Лучше отслеживать точную транзакцию со стороны конечного пользователя и работать оттуда.