我有一台服务器,没有设置域名。我通过端口 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/(.*)$ {