我试图设置nginx位置来处理各种路径,并将它们代理到我的WebApp。
以下是我的意见:
server { listen 80; server_name www.example.org; #this works fine location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8081/myApp/; } #not working location ~ ^/(.+)$ { proxy_pass http://localhost:8081/myApp/$1; } }
我想用各种路径访问myApp,比如:/myApp/abc、/myApp/def、myApp/geh或/myApp/zzz。当然,这些路径在MyApp中是不可用的。我希望他们指向根的myApp和保持URL。可以用nginx存档吗?
Nginx位置按定义顺序匹配。location/
基本上是通配符位置,因此它将匹配所有内容,没有任何内容会到达第二个位置。颠倒这两个定义的顺序,它应该起作用。但实际上,现在我看得更仔细了,我认为这两个地方本质上都在做同样的事情:
/whatever/path/ ->>proxies-to->> http://localhost:8081/myApp/whatever/path/
问题内容: 作为我的标题,这是位于conf.d / api-server.conf中的配置文件 nginx.conf文件与默认设置相同。 将请求发送到api.localhost(api.localhost / admin / login)之后,我仍然收到405错误: 问题答案: 问题是您的if条件不会在中发送父项中的标头。如果您检查飞行前响应标头,它将是 那什么也没给。因此,有两种可能的解决方案。
我是Kubernetes的新手,想了解如何向外部世界公开在Kubernetes中运行的服务。我已经使用集群上的节点端口公开了它。例如:一个服务在主机上公开端口31234,我可以通过https://kubeserverip:31234从另一个服务器访问该服务。
我有一个Nginx服务器托管一个web应用程序,当直接访问时工作正常。其配置如下 现在我必须从另一个Nginx服务器上服务这个应用程序,所以我设置了如下所示的反向代理 当我从server2访问应用程序时,我会得到如下错误,例如,当我访问HTTP:server2.com/app/css/app.css时 [error]6601#0:*1 open()“/data/www/app/css/app.cs
问题内容: 我要转发的所有请求: www.domain.com/ api / whaterver / comes / next– api .domain.com / whatever / comes / next 原因是避免www.domain.com的浏览器CORS请求api.domain.com 可能值得一提的是,nginx在Docker容器中运行。 我试图用下面的位置块来完成,但是失败了: