NGINX 列表已正确配置为接受 HTTP 流量,但收到“纯 HTTP 请求已发送到 HTTPS 端口”400 错误

NGINX 列表已正确配置为接受 HTTP 流量,但收到“纯 HTTP 请求已发送到 HTTPS 端口”400 错误

我们在一些服务器上本地托管了一些 IIS 站点,我们正在升级这些服务器。这些站点需要通过 HTTP 和 HTTPS 访问,无论是在新服务器还是旧服务器上。我们为这些服务分配了唯一的端口号,这样就不会发生端口号冲突。我们使用 DNS 将对这些站点的任何调用定向到 NGINX 反向代理,然后 NGINX 反向代理将其定向到适当的服务器。

我尝试通过“http://[site]:8080”访问我们的一个网站,但它给出了 400 错误“纯 HTTP 请求已发送到 HTTPS 端口”。当我将 URL 更改为 https://[site]:8080,它运行正常,我可以正确访问该网站,但我们不想在这里使用 HTTPS,因为我们使用不同的端口来保护流量。

我从 NGNIX 中的现有条目复制了下面的配置,并做了一些更改以将其指向正确的服务器。显示的 SSL 信息已经存在于配置中,因此我将其注释掉,但它仍然具有相同的行为。我还添加了“ssl off”标签,但这似乎也没有任何影响。我做的唯一其他更改是ssllisten行中删除

server {
   listen 8080;
   server_name [SITE];
   ssl off;
   #ssl_certificate  [certificate path];
   #ssl_certificate_key  [certificate key];
   #ssl_prefer_server_ciphers on;

   location / {
       #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       #proxy_ssl_certificate [certificate];
       #proxy_ssl_certificate_key [key];
       proxy_http_version 1.1;
       proxy_pass http://[server name]:8080;
       proxy_set_header        Host $host;
       #proxy_set_header Upgrade $http_upgrade;
       #proxy_set_header Connection "Upgrade";
}
}

我曾在其他地方发布过有关此问题的帖子,其中有人建议我删除上面注释掉的行,但这似乎没有任何影响,而且我仍然收到相同的错误。

感谢您的帮助!

相关内容