我有一个nginx配置,看起来类似于(简化):
http {
server {
listen 80 default_server;
location /api {
proxy_pass https://my-bff.azurewebsites.net;
proxy_ssl_server_name on;
}
}
}
本质上,我有一个到使用https的API端点的反向代理。
现在,我想将其转换为一个上游组,以访问keepalive和其他特性。
http {
upstream bff-app {
server my-bff.azurewebsites.net:443;
}
server {
listen 80 default_server;
location /api {
proxy_pass https:/bff-app;
proxy_ssl_server_name on;
}
}
}
但它不起作用。显然我错过了什么。
总之,我如何正确地进行这种“转换”,即从url到定义的上游?
我尝试在proxy_pass指令中在http和https之间切换,但也不起作用。
我真的希望这是一个简单的替代品。一个上游的另一个,但我做错了什么,它似乎。
1条答案
按热度按时间umuewwlo1#
Richard Smith为我指明了正确的方向。
实际上,问题是主机标头被设置为“bff-app”而不是“my-bff.azurewebsites.net“,这导致远程服务器关闭连接。
通过手动指定标题修复,如下所示: