nginx根据url中的参数做代理转发

功能: 一个nginx代理转发,代理目标地址来自url中的host参数

1location / { 2  error_page 418 = @other; 3  recursive_error_pages on; 4  resolver 1.2.4.8; 5  set $host ''; 6  if ($query_string ~ host=(http(s)?:\/\/[^\/]+(.com|.cn)(.*)$)){ 7     set $host $1; 8  } 9 set $args_tmp &${args}; 10 if ($args_tmp ~* ^(.*)(&host=[https:\/\/|\w%@\.]*)(.*)$){ 11    set $args $1$3; 12  } 13  #除去参数开头可能带有&字符的情况 14 if ($args ~* ^&(.*)$){ 15     set $args $1; 16  } 17  if ($host != ''){ 18     # rewrite ".*" ${host}/?${args}? break; 19     proxy_pass ${host}/?$args; 20     #return 200 "${args}、${tag}"; 21  } 22  if ($host = ''){ 23     return 418;  24  } 25}   26location @other { 27 28   # 这里是TP的伪静态 29   try_files $uri $uri/ /index.php$is_args$query_string;   30}
点赞
收藏

评论区

加载中...

相关推荐

Nginx的反向调度功能

1.案例实现Nginx反向代理;2.反向代理的理论知识拓展.一,实验Nginx的反向代理功能 使用Nginx实现Web反向代理功能,实现如下功能:后端Web服务器两台,可以使用httpd实现Nginx采用轮询的方式调用后端Web服务器两台Web服务器的权重要求设置为不同的值最大失败次数为1,失败超时时间为

Nginx系列之Linux系统安装部署Nginx环境

1、什么是nginx?Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。如图,nginx常被用于做代理!这里写图片描述(https://oscimg.oschina.net/oscnet/upde667b054d471beaa78cc5cf2a12a7b5.p

Nginx配置实验反向代理

l 实验要求浏览器访问8083.mine.com:8081地址,(Nginx端口是8081)通过Nginx服务器反向代理监听请求,将请求转发到tomcat服务器上,实现真正内容的访问。l 实验环境一台已安装Nginx(port:8081),tomcat8.5.39(port:8083)的CentOS服务

Nginx(Windows)

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。反向代理方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。比如我

Nginx Linux详细安装部署教程

转发:https://www.cnblogs.com/taiyonghai/p/6728707.html一、Nginx简介Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度

DHCP中续代理

什么是DHCP中继代理?答:DCHP中继代理(即DHCPRelay Agent)用于转发来自于另一个没有DHCP服务器子网段中的客户端的DHCP请求,即当一台DCHP客户机发起请求后,此时DHCP中继代理就会将已经预先定义好的DHCP服务器的信息转发给客户如果客户机与DHCP服务器处在同一个子网段,则客户机当然能够顺利动态获取到IP地址,但是客