我有一个只在端口 80/443 上读取的 API,并且我有一个应该与此 API 通信的 IIS 服务器应用程序,但 80/443 端口已被 Nginx 占用。是否有服务可以将从我的服务器发送的 API 数据发送到任何其他端口,并将其转移到具有 80/443 端口的服务?这个简单的技巧可以为我节省数百美元的另一台服务器的维护费用。
答案1
这是 HTTP 的功能之一“反向代理”. Nginx 可以配置为将某些请求转发到其他HTTP(S) 服务器,使用proxy_pass
设置。(您可以选择代理整个虚拟主机、某些目录,甚至只是单个 URL。)
server {
server_name myapi.example.com;
listen *:80; listen [::]:80;
location / {
proxy_pass http://127.0.0.1:1234;
# IIS host:port goes here.
}
}