我们在一些服务器上本地托管了一些 IIS 站点,我们正在升级这些服务器。这些站点需要通过 HTTP 和 HTTPS 访问,无论是在新服务器还是旧服务器上。我们为这些服务分配了唯一的端口号,这样就不会发生端口号冲突。我们使用 DNS 将对这些站点的任何调用定向到 NGINX 反向代理,然后 NGINX 反向代理将其定向到适当的服务器。
我尝试通过“http://[site]:8080”访问我们的一个网站,但它给出了 400 错误“纯 HTTP 请求已发送到 HTTPS 端口”。当我将 URL 更改为 https://[site]:8080,它运行正常,我可以正确访问该网站,但我们不想在这里使用 HTTPS,因为我们使用不同的端口来保护流量。
我从 NGNIX 中的现有条目复制了下面的配置,并做了一些更改以将其指向正确的服务器。显示的 SSL 信息已经存在于配置中,因此我将其注释掉,但它仍然具有相同的行为。我还添加了“ssl off”标签,但这似乎也没有任何影响。我做的唯一其他更改是ssl
从listen
行中删除
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";
}
}
我曾在其他地方发布过有关此问题的帖子,其中有人建议我删除上面注释掉的行,但这似乎没有任何影响,而且我仍然收到相同的错误。
感谢您的帮助!