`
sillycat
  • 浏览: 2551583 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Nginx Routing Based on Header Upgrade

 
阅读更多

Nginx Routing Based on Header Upgrade

Some Command I need
>sudo sbin/nginx -s reload
Reload the configuration file and restart the nginx

>sudo sbin/nginx -t
Test and check if my statements in conf/nginx.conf is correct.

>sudo sbin/nginx
Just Start the nginx process

Here is my configuration.

location / {   

   proxy_pass                  http://contentcenter2;    

   if ($http_x_header) {        

       proxy_pass              http://contentcenter1;    

   }
}

The idea is that first of all, make proxy_pass have default value.
Then check the header, if we have the customer header X_HEADER, we will go to another proxy_pass value, which point to another server URL.



References:
http://sillycat.iteye.com/blog/2074417
http://sillycat.iteye.com/blog/2074422


分享到:
评论

相关推荐

    教你怎么用Nginx往request的header中添加新字段

    结合提供的文件名,我们可以推断,`2nginx response.png`可能展示了Nginx添加自定义响应头的结果,`1request header中添加apiversion.png`可能描绘了在请求头中添加`apiversion`字段的过程,而`Nginx居然还能实现...

    Windows版nginx去掉header中server后面的信息(nginx版本1.21.1)

    Windows版nginx去掉header中server后面的信息(nginx版本1.21.1) 使用方法: 1、关闭nginx服务 2、将新的nginx.exe替换原有的exe文件 3、重启nginx服务

    ASP.NET Core 因为 Nginx 配置 Connection 为 Upgrade 导致 Kestrel 返回 400

    当 Nginx 配置文件中,`proxy_set_header Connection upgrade;` 或 `proxy_set_header Upgrade $http_upgrade;` 设置不当时,Nginx 可能无法正确地将升级请求转发给 Kestrel,导致 Kestrel 无法识别出这是一个 ...

    为何要小心Nginx的add_header指令详解

    大家都知道,nginx配置文件通过使用add_header指令来设置response header。 昨天无聊用curl查看一个站点的信息,发现返回的头部与想象中的不一样: HTTP/2 200 date: Thu, 07 Feb 2019 04:26:38 GMT content-type: ...

    nginx配置教程之add_header的坑详解

    而且在低版本的 nginx 中 add_header 还不支持在错误页面中使用。 这是一个坑比较多的指令。它的处理阶段比 location 处理晚,虽然可以写在 location 中,但如果 rewrite 别的 location,那么上一个 location 中...

    nginx add_header指令使用方法

    在nginx配置文件中,我们可以通过使用add_header指令来设置response header。这个指令的基本使用方法就是将header的key和value用空格分隔,然后写在nginx的配置文件中。例如,如果你想设置"Cache-Control"为"no-...

    oucb#3d-visualization-Iot-blog#nginx解决Too-many-header问题1

    title: nginx解决Too-many-header问题在对接海康卫视WEB无插件开发包时,自己的页面连接单独的摄像头时(连接NVR没这个问题),/ISA

    Nginx解决转发地址时跨域的问题

    No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 这就是跨域问题。解决方案有不少,比较好的是服务器端配置CORS,但要求服务器端...

    Nginx代理时header头中带”_”信息丢失问题的解决

    开发网关项目时,在请求时往请求头header中放入了签名sign_key信息,在接收请求时再从header中拿出,在本地调试时是可以的,但上线之后通过Nginx代理之后发现拿不到。 location / { proxy_set_header X-Real-IP $...

    Nginx作为反向代理时传递客户端IP的设置方法

    因为架构的需要采用多级 Nginx 反向代理,但是后端的程序获取到的客户端 IP 都是前端 Nginx 的 IP,问题的根源在于后端的 Nginx 在 HTTP Header 中取客户端 IP 时没有取对正确的值。 同样适用于前端是 Squid 或者...

    nginx-1.10.2_海康;javascript_nginx/1.10.2_nginx转发海康_

    proxy_set_header Connection "upgrade"; proxy_http_version 1.1; } } ``` 这段配置中,`proxy_pass`指令指定了目标服务器的地址,`proxy_set_header`则用来传递客户端请求头部信息,这对于保持WebSocket连接和...

    nginx + header 转发 灰度测试

    nginx Header 转发灰度测试配置详解 在本文中,我们将详细介绍如何使用 Nginx 实现 Header 转发灰度测试。灰度测试是一种重要的测试方法,可以帮助我们在不影响生产环境的情况下,测试新的服务或功能。我们将使用 ...

    Nginx跨域设置Access-Control-Allow-Origin无效的解决办法

    nginx 版本 1.11.3 使用大家说的以下配置,验证无效,跨域问题仍然存在 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow...

    Nginx安装与使用+WebSocket集群实现及断开重连

    在Nginx配置文件中,添加`proxy_set_header Upgrade $http_upgrade;`和`proxy_set_header Connection "upgrade";`来支持WebSocket: ```nginx location /ws { proxy_pass http://backend_servers; proxy_...

    Nginx转发WebSocket接口配置方式

    `proxy_set_header Connection "upgrade"`设置告诉Nginx保持连接打开。 3. **处理WebSocket标识符**:WebSocket连接中,每个连接都有一个唯一的`Sec-WebSocket-Key`和`Sec-WebSocket-Accept`头,Nginx会自动处理...

    windows下带fancyindex的nginx

    在Windows环境下配置并使用带有FancyIndex功能的Nginx服务器是一个常见的需求,尤其是在搭建个人网站或测试服务器时。FancyIndex是Nginx的一个模块,它可以为用户提供一个美观且可自定义的目录索引视图,替代默认的...

    nginx 负载均衡与缓存服务器标准配置文件

    nginx 负载均衡与缓存服务器标准配置文件

    nginx升级过程文档.docx

    proxy_set_header Connection "Upgrade"; } ``` 这些设置确保了Nginx能正确转发WebSocket请求到指定的后端服务器(这里是`localhost:8809`)。 至此,Nginx升级过程已完成,并且配置文件已更新以支持WebSocket...

Global site tag (gtag.js) - Google Analytics