Поддержка Проблемы и решения Настройка nginx proxy для WordPress

  • Здравствуйте, помогите пожалуйста разобраться с проблемой:
    Сайт с WordPress находится в локальной сети за роутером, сайт использует nginx, на роутере тоже установлен nginx, который проксирует запросы из интрнет на локальный веи-сервер.
    Проблема в том что при обращении из интернет к сайту через прокси возвращается ошибка:
    Соединение с 87.225.104.160 не удалось
    Система вернула: (110) Connection timed out

    Хотя если обратиться из локальной сети к сайту — все нормально работает.
    Получается проблема с прокси.
    Вот его конфиг:

    
    server {
    
        listen *:80;
    
        server_name test-shop.npokristal.ru www.test-shop.npokristal.ru;
    
        set_real_ip_from 10.0.0.250;
        real_ip_header X-Real-IP;
    
        access_log /var/log/nginx/test-shop.npokristal.ru-access.log;
        error_log /var/log/nginx/test-shop.npokristal.ru-error.log;
    
        root /var/www/html;
        index index.php;
    
    # Не сообщать о отсутствии favicon, не писать информацию о доступе к нему в access лог .
    location = /favicon.ico {
            log_not_found off;
            access_log off;
    }
    
    # Не сообщать о отсутствии robots.txt, не писать информацию о доступе к нему в access лог. 
    location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
    }
    
    # Запретить доступ к файлам, начинающимся с точки. Например .htaccess
    location ~ /\. {
            deny all;
    }
    # Запретить доступ к файлам php в директориях uploads, files.
    location ~* /(?:uploads|files)/.*\.php$ {
            deny all;
    }
    
    rewrite /wp-admin$ $scheme://$host$uri/ permanent;
    
    # Для файлов отключить логирование, установить максимальный срок жизни кэша. 
    location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
    
           access_log off; log_not_found off; expires 90d;
    }
    
    set $cache_uri $request_uri;
    
    # Запретить кэширование, если используются POST запросы.
    if ($request_method = POST) {
            set $cache_uri 'null cache';
    }
    
    if ($query_string != "") {
            set $cache_uri 'null cache';
    }
    
    # Запретить кэширование при доступе к служебным скриптам.
    if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
            set $cache_uri 'null cache';
    }
    
    # Запретить кэширование, если используются cookie.
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
            set $cache_uri 'null cache';
    }
    
    # Отдавать кэш.
    location / {
            try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args ;
    }
    
    # Для файлов php отдавать обработку FASTCGI серверу.
    location ~ [^/]\.php(/|$) {
            root /var/www/html;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            if (!-f $document_root$fastcgi_script_name) {
                    return 404;
            }
    
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_pass unix:/run/php/test-shop.npokristal.ru.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            #fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;
    
        }
    }
    

    Помогите пожалуйста.

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Yuri

    (@yube)

    Вот его конфиг:

    Я вижу в этом конфиге fastcgi_pass, а Вы пишете, что это прокси на другой сервер «в локальной сети за роутером«.

    Вообще-то, это вопрос совсем не про wordpress (если бы сайт был без WP, что изменилось бы?). Это про системное администрирование, а следовательно на специализированном форуме Вам помогут быстрей и надежней.

    Простите, я конфиг локального сервера выложил.
    Вот конфиг прокси:

    
    server {
        listen 80;
    #    server_name test-shop.npokristal.ru;
        server_name test-shop.*;
        access_log /var/log/nginx/test-shop.npokristal.ru-access.log;
        error_log /var/log/nginx/test-shop.npokristal.ru-error.log;
        location / {
            proxy_pass http://10.0.0.248:80;
    	proxy_redirect off;
    	proxy_buffering on;
    	proxy_buffers 12 12k;
    	proxy_set_header Host $http_host;
    	proxy_set_header X-Forwarded-Host $http_host;
    	proxy_set_header X-Real-IP $remote_addr;
    	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    	proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
    
Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Настройка nginx proxy для WordPress» закрыта для новых ответов.