配置 nginx 作为反向代理 http uri -> 私有服务器

配置 nginx 作为反向代理 http uri -> 私有服务器

我有一台服务器,没有设置域名。我通过端口 80 上的 IP 访问它。我在其上安装了 IIS,端口 8080、8081、8082 上有 3 个网站。我想要的是当有人输入 SERVER_IP/foo1 时,nginx 显示来自 192.168.1.100:8080 的内容

服务器 IP/foo2 -> 192.168.1.100:8081

服务器 IP/foo3 -> 192.168.1.100:8082

这些私人服务器是复杂的网络应用程序,具有身份验证、其他页面等。我很感激任何帮助。我当前的配置是

location  /foo1/   {  
        if ($request_uri ~* "/foo1/(.*)") { 
        proxy_pass  http://192.168.1.100:8080/$1;
        }

在 nginx 的默认服务器块中,显然它不起作用。

答案1

这里没有“显然”,您演示了问题并发布完整的配置、错误日志,以及理想的 curl 或类似内容来显示发生了什么。

不过,我认为像这样的东西应该可以行得通,尽管你可能需要稍微调整一下表达方式——我不经常写它们,所以我需要一段时间才能把它们写对。这里有几个例子这一页

location ~ ^/foo1/(.*)$ {
  proxy_pass       http://192.168.1.100:8080/$1;
}

如果第一行像这样,效果可能会更好

location /foo1/(.*)$ {

相关内容