基本 nginx proxy_pass 失败,出现 HTTP 500

基本 nginx proxy_pass 失败,出现 HTTP 500

我有一个极其简单的配置,我相信它应该可以反向代理我在example.com:1234上看到的内容example.com[:80]

error_log /var/log/nginx/error.log info;

events{
}

http{
    server{
        listen 80;
        server_name example.com;

        location / {
            proxy_pass http://example.com:1234;
            proxy_redirect default;
        }
    }
}

但是,导航到端口 80 会导致内部服务器错误500- 而导航到端口1234则会呈现预期的输出。

日志仅包含“信号进程启动”条目。

我做错了什么或遗漏了什么?我怎样才能记录更好的(任何!)服务器错误描述;我预计这不是最后一次有用的描述。

答案1

如果您的后端位于同一主机上,请尝试使用。NGINX 在使用 DNSproxy_pass http://127.0.0.1:1234;之前proxy_pass http://example.com:1234;会调用内部名称解析逻辑,由于您的server_name与指令中的主机名相同proxy_pass,这可能是问题的根源。

答案2

只需删除 proxy_redirect 并向 NGINX 发送另一个请求。如果仍然有内部服务器错误,请调查日志文件。
此外,检查后端(proxy_passhttp://example.com)从您的服务器使用 curl 来确保您的后端是健康的。

相关内容