Я пытаюсь настроить обратный прокси-сервер с помощью nginx 1.20.1 на Fedora Server 35, но все, что я пробовал до сих пор, приводит к ошибке:
[root@proxy nginx]# curl -I -H "Хост: www.example.com" http://10.0.19.1/
HTTP/1.1 500 Внутренняя ошибка сервера
Сервер: nginx/1.20.1
Дата: среда, 10 ноября 2021 г., 19:54:39 по Гринвичу
Тип содержимого: текст/html; кодировка = UTF-8
Соединение: Keep-alive
X-Powered-By: PHP/8.0.12
10.0.19.1 — это адрес сервера nginx, а 10.0.20.1 — это сервер Apache, который я пытаюсь проксировать. Если я запускаю ту же команду curl, что и выше, но использую 10.0.20.1 для URL-адреса, она работает нормально, поэтому я думаю, что безопасно исключить проблемы с подключением между двумя серверами и любые проблемы с хостом Apache. Журнал ошибок nginx пуст.
нгинкс -т
Не находит проблем с конфигурационными файлами (воспроизведены ниже). Я также установил для SELinux разрешающий режим, чтобы исключить это как причину.
Я создал простую (не прокси) конфигурацию сервера для тестирования, и она работала нормально, поэтому, будучи новичком в nginx, я чувствую, что это, вероятно, очень тривиальная проблема с моим файлом proxy.conf.
nginx.conf:
пользователь nginx;
рабочие_процессы авто;
error_log /var/log/nginx/error.log предупреждение;
pid /run/nginx.pid;
включить /usr/share/nginx/modules/*.conf;
События {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$статус $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log основной;
отправить файл включен;
tcp_nopush включен;
tcp_nodelay включен;
keepalive_timeout 65;
типы_хэш_макс_размер 4096;
включить /etc/nginx/mime.types;
default_type application/octet-stream;
включить /etc/nginx/conf.d/*.conf;
}
conf.d/proxy.conf:
сервер {
слушать 80;
имя_сервера www.example.com;
место расположения / {
прокси_пароль http://10.0.20.1;
}
}