我正在尝试在 Fedora Server 35 上使用 nginx 1.20.1 设置反向代理服务器,但到目前为止我尝试过的所有方法都导致错误:
[root@proxy nginx]# curl -I -H "Host: www.example.com" http://10.0.19.1/
HTTP/1.1 500 Internal Server Error
Server: nginx/1.20.1
Date: Wed, 10 Nov 2021 19:54:39 GMT
Content-Type: text/html; charset=UTF-8
Connection: 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 错误日志为空。
nginx -t
配置文件没有问题(如下所示)。我还暂时将 SELinux 设置为宽容,以消除这个问题。
我确实创建了一个简单的(非代理)服务器配置来测试,并且运行正常,因此作为 nginx 新手,我感觉这可能是我的 proxy.conf 文件的一个非常简单的问题。
nginx.conf:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 4096;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
}
conf.d/proxy.conf:
server {
listen 80;
server_name www.example.com;
location / {
proxy_pass http://10.0.20.1;
}
}