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

Тайм-аут соединения Nginx proxy_pass с очень простой конфигурацией

Во-первых, я новичок в nginx. Я пытаюсь запустить предварительную визуализацию для нашего сайта, которая включает в себя перезапись и proxy_pass, но я не могу, хоть убей, понять, что мешает этому.

Эта конфигурация, которую я использую ниже, предназначена только для устранения неполадок, но она по-прежнему дает мне время ожидания подключения через 60 секунд. Я могу указать его на любой IP или хост, и он не сработает. Использование wget для получения страниц с любого IP-адреса или хоста позволяет легко получить страницы, например http://www.google.com, или сервер, на который я пытаюсь попасть, http://service.prerender.io, так что это как-то связано с тем, как nginx выполняет proxy_pass.

Внутренний адрес сервера - 10.3.3.91. Как ни странно, я могу указать proxy_pass на 10.3.3.92 (другой сервер nginx) и получить страницы.

Я в недоумении. Любая помощь будет принята с благодарностью.

worker_processes 4;

worker_rlimit_nofile 65000;


events {
    worker_connections  2048;
}

http {

        # Logging Settings
        access_log /var/log/nginx/test1-access.log;
        error_log /var/log/nginx/test1-error.log;

  server {
    listen 80;

#    location / {
#        try_files $uri $uri/ /index.php?$args;
#    }

    location / {
        proxy_set_header X-Prerender-Token OUR_TOKEN;
        #resolve using Google's DNS server to force DNS resolution and prevent caching of IPs
        resolver 8.8.8.8;
            set $prerender "service.prerender.io";
            rewrite .* /$scheme://$host$request_uri? break;
            proxy_pass http://$prerender;
        break;
        }
    }
}

Пример того, что я вижу в журнале ошибок:

2016/08/26 10:03:12 [error] 3635#0: *249 upstream timed out (110: Connection timed out) while connecting to upstream, client: 10.103.11.151, server: , request: "GET /something.php HTTP/1.1", upstream: "http://54.225.208.171:80/http://10.3.3.91/something.php", host: "10.3.3.91"

Наша сетевая команда сделала исключение веб-прокси для нескольких разных доменов, например, purple.com для тестирования, я изменил proxy_pass на purple.com, и он работает. Насколько я могу судить, у proxy_pass возникла проблема с пониманием ответов нашего веб-прокси, тогда как таких команд CLI, как wget и curl, не было.