- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我目前在 http://www.example.com
有一个网站我希望来自
http://www.example.com/api/v2/<anything>
被代理到
http://api.v2.com/<anything>
请注意 http://api.v2.com
没有基本路径。我的配置:
server {
listen 80;
server_name www.example.com;
location /api/v2/ {
proxy_pass http://api.v2.com;
}
location / {
index index.html;
root /var/www/example.com/htdocs;
}
}
然而,通过这种方式,请求被代理到 http://api.v2.com/api/v2/<anything>
保留原始路径,而不是 http://api.v2.com/<anything>
.
我已经注意到了:
location /api/v2 {
proxy_pass http://api.v2.com/api;
按需工作 - http://api.v2.com/api/v2/<anything>
http://api.v2.com/api/<anything>
的代理.
有没有办法实现第一个行为(即 http://api.v2.com/api/v2/<anything>
到 http://api.v2.com/<anything>
)?我必须使用重写吗?我知道它与规范化 URI 相关,这是预期的,只是想知道是否有办法做到这一点。
最佳答案
如果您想从结果 url 中删除到服务器的代理路径,您应该在代理 url 中包含 uri 部分,或者您应该指定重写部分。
在这种特定情况下,它应该如下所示,
location /api/v2/ {
rewrite /api/v2/(.*) /$1 break;
proxy_pass http://api.v2.com/;
}
有关更多信息,请访问 nginx 文档 https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass
关于nginx proxy_pass 删除基本路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42990046/
所以我目前在 http://www.example.com 有一个网站我希望来自的所有请求 http://www.example.com/api/v2/ 被代理到 http://api.v2.com/
我有一个服务在低端机器上运行(在 Nginx 之后)并且 CPU 性能相当弱。其中一个 API 需要大量的 CPU 时间,因此需要限制最大并发请求数。但是如果请求被缓存,它可以更快地响应。 我想做的是
我的 Nginx 配置类似于: server { listen 80; listen 443; server_name api.mysite.dev; location
如何设置 nginx 将单个文件夹反向代理到一台服务器,并将根目录的其余部分反向代理到另一台服务器? 根“/”由CMS管理,而“其他”是我自己的程序(独立于CMS)。 这是我目前的配置 server
我正在尝试使用此配置设置 nginx。要访问 backend.mygreat.server.com,我必须通过我的公司代理,即 myproxy.server.com:80。 因此,我在/etc/env
当 proxy_pass 设置为变量时,Nginx 似乎无法支持重定向。有没有办法实现这个功能,例如以某种方式链接服务器或其他解决方法?不支持的原因是什么? .conf 是: proxy_pass $
我正在尝试在 nginx 中使用 proxy_pass 将请求转发到本地主机上的另一个端口,如下所示: location /foo { rewrite ^/foo/(.*) /$1 break
我有一个网站叫 http://example.com ,运行的应用程序可以通过 http://example.com/app1 访问. app1 位于 nginx 反向代理后面,如下所示: locat
下面是一个非常标准的 nginx proxy_pass 设置: server { listen 80; server_name ireport.jungdigital.com; acces
当 nginx proxy_pass 是一个动态值,预计通过替换 URL 中的主机名部分来构建时,nginx 无法代理请求并出现错误:没有定义解析器来解析服务,其中服务=1 美元。它似乎只是尝试解析服
我的 nginx 配置有问题。 当我这样设置配置时: server { server_name redmine; listen 80;
我有以下设置 主服务器 - 称之为 https://master.com 从属服务器 - 称之为 https://slave.com 两者都在 Ubuntu 16.04 上运行 Nginx 在主服务器
我在 Doccker 容器中使用 Nginx 来托管我的应用程序 我正在尝试将 Nginx 配置为将到/.well-known/目录的流量代理到另一个处理 letsencrypt 过程以设置和更新 S
我开发了一个 URL 缩短 Web 应用程序。 它由两个独立的 docker 容器组成:一个包含后端 REST api,另一个包含前端静态网站。 这两个容器链接到一个 nginx 容器。 这个 ngi
我有一个从外部地址接收请求的服务,例如https://example.com ,以及一个内部地址,例如本地主机:8080。 我必须使所有针对此服务的请求看起来好像它们将被定向到相同的主机名。 我最初的
我正在尝试通过代理传递在 nginx 中执行 auth_request,但我不断收到: 1 auth request unexpected status: 301 这是我的配置: server {
我有两台服务器: NGINX(它将文件 ID 交换为文件路径) Golang(它接受文件 ID 并返回它的路径) 例如:当浏览器客户端向 https://example.com/file?id=123
http://mydomain.com/ => 127.0.0.1:4567 但 http://mydomain.com/FOO => 127.0.0.1:3000 那可能吗? 到目前为止,我有: u
我想将请求传递给上游服务器。原始 url 不受密码保护,但上游服务器受密码保护。我需要在请求中注入(inject)一个基本身份验证用户名/密码,但在执行时会出错: upstream supportba
我遇到了以下问题,我希望能够从带有尾部斜杠的主网站访问代理传递的位置(托管 docker 容器中的 React/NextJs webApp)和 没有尾部斜杠。 目前,当我点击: http://my-w
我是一名优秀的程序员,十分优秀!