Рейтинг:0

Использование Nginx в качестве веб-сервера и обратного прокси-сервера вызывает проблемы

флаг cf

Я пытаюсь настроить Nginx как веб-сервер для WordPress и как обратный прокси-сервер, чтобы обслуживать как pihole (который использует lighttpd), так и различные другие серверы. Однако после настройки у меня возникла странная проблема. когда у меня есть мой обратный прокси.conf файл внутри моих сайтов сайты с поддержкой папка, переход на IP-адрес напрямую показывает только страницу приветствия Nginx по умолчанию. Однако, когда я отключаю связь обратный прокси.conf, появляется wordpress. Что я здесь делаю неправильно?

nginx.conf

www-данные пользователя;
рабочие_процессы авто;
pid /run/nginx.pid;
включить /etc/nginx/modules-enabled/*.conf;

События {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Основные настройки
    ##

    отправить файл включен;
    tcp_nopush включен;
    tcp_nodelay включен;
    keepalive_timeout 65;
    типы_хэш_макс_размер 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    включить /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # Настройки SSL
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Удаление SSLv3, ссылка: POODLE
    ssl_prefer_server_ciphers включен;

    ##
    # Настройки ведения журнала
    ##

    журнал_доступа /var/log/nginx/access.log;
    журнал_ошибок /var/log/nginx/error.log;

    ##
    # Настройки Gzip
    ##

    gzip включен;

    # gzip_vary on;
    # gzip_proxyed любой;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Конфигурации виртуального хоста
    ##

    включить /etc/nginx/conf.d/*.conf;
    включить /etc/nginx/sites-enabled/*;
}


#почта {
# # См. пример сценария аутентификации по адресу:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
# 
# сервер {
# слушать localhost:110;
# протокол pop3;
# прокси включен;
# }
# 
# сервер {
# слушать localhost:143;
# протокол imap;
# прокси включен;
# }
#}

По умолчанию

##
# Вам следует просмотреть следующие URL-адреса, чтобы получить четкое представление
# файлов конфигурации Nginx, чтобы полностью раскрыть всю мощь Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# В большинстве случаев администраторы удалят этот файл с сайтов с поддержкой/ и
# оставить его как ссылку на доступных сайтах, где он и дальше будет
# обновлено командой упаковки nginx.
#
# Этот файл будет автоматически загружать файлы конфигурации, предоставленные другими
# приложения, такие как Drupal или Wordpress. Эти приложения будут сделаны
# доступен по пути с этим именем пакета, например /drupal8.
#
# Более подробные примеры см. в /usr/share/doc/nginx-doc/examples/.
##

# Конфигурация сервера по умолчанию
#
сервер {
    слушать 80 default_server;
    слушать [::]:80 default_server;

    # конфигурация SSL
    #
    # слушать 443 ssl default_server;
    # слушать [::]:443 ssl default_server;
    #
    # Примечание. Вы должны отключить gzip для трафика SSL.
    # См.: https://bugs.debian.org/773332
    #
    # Прочтите ssl_ciphers, чтобы обеспечить безопасную конфигурацию.
    # См.: https://bugs.debian.org/765782
    #
    # Самоподписанные сертификаты, созданные пакетом ssl-cert
    # Не используйте их на рабочем сервере!
    #
    # включить фрагменты/snakeoil.conf;

    корень /var/www/wordpress;

    # Добавьте index.php в список, если вы используете PHP
    индекс index.html index.htm index.nginx-debian.html index.php;

    имя сервера _;

    место расположения / {
        # Сначала пытаемся обслужить запрос как файл, затем
        # в качестве каталога, затем вернуться к отображению 404.
        try_files $uri $uri/ =404;
    }

    # передать PHP-скрипты на сервер FastCGI
    #
    расположение ~ \.php$ {
        включить фрагменты/fastcgi-php.conf;
    #
    # # С php-fpm (или другими сокетами unix):
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    # # С php-cgi (или другими сокетами tcp):
    # fastcgi_pass 127.0.0.1:9000;
    }

    # запретить доступ к файлам .htaccess, если корневой каталог Apache
    # совпадает с nginx
    #
    #местоположение ~ /\.ht {
    # запретить все;
    #}
}


# Конфигурация виртуального хоста для example.com
#
# Вы можете переместить это в другой файл в разделе sites-available/ и указать символическую ссылку, которая
# на site-enabled/, чтобы включить его.
#
# сервер {
# слушать 80;
# слушать [::]:80;
#
# имя_сервера example.com;
#
# корень /var/www/example.com;
# индекс index.html;
#
#   место расположения / {
# try_files $uri $uri/ =404;
# }
#}

обратный прокси.conf

 сервер {
  # замените крестики ниже своим IP-адресом
  слушать 192.168.1.29:80;
   местоположение /pihole/ {
   разрешить 192.168.1.0/24;
   отрицать все;
   прокси_пароль http://192.168.1.29:82/admin/;
   proxy_set_header Хост $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For 
   $proxy_add_x_forwarded_for;
   proxy_read_timeout 90;
  }
}
djdomi avatar
флаг za
server_name отсутствует в обратной конфигурации ... Однако Raspi Pihole говорит мне, что вопрос не по теме, потому что это вопрос домашнего и конечного пользователя.
Рейтинг:1
флаг jp

Я предполагаю, что вы получаете доступ к WordPress и /пихол/ используя то же доменное имя (т. е. IP-адрес) http://192.168.1.29/. В этом случае они оба должны быть в тем же сервер блок, а не два блока серверов, как сейчас.

В существующей конфигурации слушать 192.168.1.29:80; иметь приоритет над слушать 80 default_server; для подключений к порту 80, адресованному 192.168.1.29.

ProGamer1 avatar
флаг cf
Спасибо! Это решило мою проблему.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.