精华内容
下载资源
问答
  • 主要介绍了Nginx 根据URL带的参数转发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要给大家介绍了一次关于nginx实现根据URL转发请求的实战经历,文中通过示例代码介绍的非常详细,对大家学习或者使用nginx具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 例如 url:https://abc.dc.com/image?url=http://vpic.video.qq.com/1641213/p0685fxrwij.png 我们想要的效果直接访问以下地址: http://vpic.video.qq.com/1641213/p0685fxrwij.png 需配置如下: resolver ...

    在实际项目中,由于https安全策略,https页面无法请求到http协议的图片(暂时谷歌浏览器这样的)

    例如 url:https://abc.dc.com/image?url=http://vpic.video.qq.com/1641213/p0685fxrwij.png

    我们想要的效果直接访问以下地址:

    http://vpic.video.qq.com/1641213/p0685fxrwij.png

    需配置如下:

     resolver 8.8.8.8; #配置域名进行访问的时候,需要配置此项目,否则会报502错误

    location ~/image {

       #  我尝试这第一种,有的可以,有的404(当然图片路径对的,可能哪里有点小问题)
       #   if ($query_string ~*  ^(.*)url=(.*)$){
       #       set $imageUrl $2;
       #      proxy_pass $imageUrl;
       # }

            # 第二种

            proxy_pass  $arg_url; #代表地址栏url参数


     }

    重启nginx即可生效

    展开全文
  • nginx配置根据url参数转发

    千次阅读 2018-05-03 15:49:00
    1,举例说明 若url为:http://localhost/index.htm?PAGE=dhcp 根据参数PAGE的值dhcp,转发到dhcp.html页面 2,nginx配置实现 ①编辑nginx/conf/的nginx.conf配置文件 loc...

    1,举例说明

         若url为:http://localhost/index.htm?PAGE=dhcp

          根据参数PAGE的值dhcp,转发到dhcp.html页面

    2,nginx配置实现

        ①编辑nginx/conf/的nginx.conf配置文件

    location ^~/index.htm {    
          proxy_pass http://127.0.0.1:81/web_router/$arg_PAGE.html;
    }

    其中$arg_PAGE就是获取到的PAGE参数值。

        由于在html页面中,获取的js相对路径有改变,就要对js或css等文件进行根路径配置,否则找不到文件

    153730_N8gY_3553496.png

    153934_hYbm_3553496.png

    我js所在路径:nginx-1.13.8\html\web_router\js

    由于我的nginx根路径是html文件夹。路径不正确所有找不到指定文件。

          加上如下配置,即可解决问题:

    前提条件是我请求的js文件是在web_router文件夹下面

    location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {  
       root html/web_router/;  
    }

      ②保存文件,重启nginx.

    3,验证

        通过浏览器输出url,更改PAGE参数值,查看是否装发到目标页面。

     

    转载于:https://my.oschina.net/u/3553496/blog/1806194

    展开全文
  • nginx配置根据参数转发

    万次阅读 2018-08-23 17:27:50
    因此,设计解决方案为:由程序将需要跳转的完整url作为参数pic_url的值,加入整个url内,所以需要在代理中实现中转,将请求转发给pic_url url: 原: https://n1-test.xxx.com/angentImg/?type=image&pic...

    需求:
    因浏览器安全策略,在reference为https类型时,无法跳转获取http协议链接的数据。
    因此,设计解决方案为:由程序将需要跳转的完整url作为参数pic_url的值,加入整个url内,所以需要在代理中实现中转,将请求转发给pic_url

    url:
    原:
    https://n1-test.xxx.com/angentImg/?type=image&pic_url=http://www.wipo.int/branddb/jsp/data.jsp?SOURCE=EMTM&TYPE=jpg&KEY=014835301&qi=2-FbonCURiPwm/abnckAV

    希望转发给:
    http://www.wipo.int/branddb/jsp/data.jsp?SOURCE=EMTM&TYPE=jpg&KEY=014835301&qi=2-FbonCURiPwm/abnckAV

    实现方法:

        location ~/angentImg/ {
          if ($query_string ~*  ^(.*)type=image&pic_url=(.*)$){
             set $pic_url $2;
             # set $pic_url $arg_pic_url
             proxy_pass $pic_url;
             }
        }
    
    解释:  
    1.set $1 $2 将$2变量的值赋值给$1变量
    2.arg_(VAR_NAME)用来获取url后指定参数对应的值,比如arg_pic_url可以获取到连接中pic_url这个参数的值
    3.$query_string 可以获取路径之后包含所有参数kv的string
    4.但是如果要获取的参数本身也是一个url,且该url包含有自带的参数,例如在这个例子里,直接使用$pic_url只能捕获http://www.wipo.int/branddb/jsp/data.jsp?SOURCE=EMTM这一段值,它后方的&之后的参数是无法捕捉到。因此使用正则匹配,将pic_url=后方的字符串全部赋予给了变量$2,将流量转发向$2值的url
    

    配置完上面这些后,发现链接还是无法打开,报错502:
    这里写图片描述

    怀疑目标url做了防盗链处理,但经过测试,这是个cdn地址,并没有配置防盗链,继续检查,发现nginx日志有异常记录:
    这里写图片描述

    域名无法解析?dns已经配置了呀,本地也是可以浏览器正常访问该图片url,尝试在nginx服务器上添加/etc/hosts 固定dns记录,发现依然有同样的报错,求助万能的google,找到了问题的原因:

    在Ngnix中如果用变量作为反向代理的地址时,可能会出现“no resolver defined to resolve xxx.xxx”的问题,原因是 Nginx 0.6.18以后的版本中启用了一个resolver指令,在使用变量来构造某个server地址的时候一定要用resolver指令来指定DNS服务器的地址,所以解决这个问题的方法很简单:在nginx的配置文件中的http{}部分添加一行DNS解析即可,注意,要写在nginx配置的http{}内:

    resolver 8.8.8.8 ipv6=off;
    

    再次尝试,图片可以正常访问,检查浏览器控制台可以看到各项url参数均正常携带:
    这里写图片描述

    展开全文
  • Nginx 根据URL带的参数转发

    万次阅读 2018-02-10 09:19:52
    使用场景: 需要根据截取URL动态配置跳转路径,常见于访问内网不固定ip地址的文件图片,请求地址:...http://...

    使用场景:

        需要根据截取URL动态配置跳转路径,常见于访问内网不固定ip地址的文件图片,

    请求地址:http://11.19.1.212:82/bimg4/32.52.62.42:222/DownLoadFile?filename=LOC:12/data/20180208/15/2e0ae54dfd752210083404deed15269c_222403
    实际需要访问的内网地址:http://32.52.62.42:222/DownLoadFile?filename=LOC:12/data/20180208/15/2e0ae54dfd752210083404deed15269c_222403

    nginx配置文件

    server {
        listen 83;
        server_name localhost;
        index index.html index.htm;
    
        root D: /workspace-xxxx/xxx_Web;
    
        error_page 500 502 503 504 / 50x.html;
        location = /50x.html {
                root   html;
            }
        location ^~ /xxx/ {
            proxy_pass http: //192.168.60.36:8090/xxxx/;
            proxy_redirect default;
            proxy_set_header Host $host;
            proxy_set_header X - Real - IP $remote_addr;
            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_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
        }
    
    
    # 此处为截取请求地址中bimg4之后的路径,并赋给转发地址
        location ^ ~ / bimg4 / {
            if ($request_uri~ / bimg4 / (. * )) {
                set $bucketid $1;
            }
            proxy_pass http: //$bucketid;
        }
    
    }
    
    

    展开全文
  • ``` 访问链接:... ``` ``` 转发到:www.123.com/api/v1/upload/preview/b181ace7-8b35-47a9-a6c6-b4617b9a44ff ``` 需要怎么才能实现?
  • Nginx根据url并切割url进行路由转发

    千次阅读 2020-12-17 15:26:52
    nginx统一接受请求url,并转发 http://172.16.51.91:9000/44010000/api/order/create http://172.16.51.91:9000/44060000/api/order/create 目标: http://172.15.10.13:9001/api/order/create ...
  • nginx根据url参数重定向1. 判断url路径2. 判断url参数其他参数待完善 1. 判断url路径 location / { if ($args ~* "/product-list?param1=val1&param2=val2") { rewrite ^ http://www.mysite.com/product-list/...
  • Nginx判断来路http://aaaa.com查询语句是否包含有Q=**,重写到https://xxxx.com/?Q=**
  • 配置nginx参数配置 server { listen 80; server_name 127.0.0.1; root 项目存放完整路径; #charset koi8-r; #access_log logs/host.access.log main; location /front { #root ...
  • Nginx中,有一些高级场景,需要根据url中的path参数,动态转发到不通的upstream 场景1 /svr1/xxxx?yyy 转发到 svr1:8080/xxxx?yyy /svr2/xxxx?yyy 转发到 svr2:8080/xxxx?yyy 配置如下: location ~* /(srv[1-9]...
  • nginx是非常出色web服务器,对于静态文件的处理非常高效,同时它的代理转发功能和其它后台服务器搭配起来也非常的简单高效。 location 我们知道nginx会对请求进行解析,然后回得到关于请求的url等信息,我们只需要对...
  • Nginx 根据url参数设置反向代理

    千次阅读 2020-11-23 17:23:58
    部署Nginx nginx 部署依赖的其他包⾃⾏下载安装,本次试验的是 1.6.2 版本。下载 nginx 安装包: wget http://nginx.org/download/nginx-1.6.2.tar.gz 编译安装 # ./configure # make # make install 启动 ...
  • nginx统一接受请求url,并转发 http://172.16.51.91:9000/api/order/create/44010000 http://172.16.51.91:9000/api/order/create/44060000 目标: http://172.15.10.13:9001/api/order/create ...
  • URL重写 在前后端分离的开发模式中,会遇到这样一个需求:前端通过特定路由前缀来访问后端接口,例如:http://localhost/api/getUser,这里 api 即是每一个前端 request 所多加的前缀。nginx 需要把...
  • nginx 链接转发添加参数

    千次阅读 2020-04-23 15:39:04
    1:通常最简单转发是; location /XX/XX { proxy_ pass ... } 2.给需要转发的链接添加参数 location /XX/XX { set $args "$args&a1=xxx&a2=xxx"; proxy_ pass http://ip:port/xxxx; }...
  • 例如 url:https://abc.dc.com/image?url=https://vpic.video.qq.com/1641213/p0685fxrwij.png 我们想要的效果直接访问以下地址: https://vpic.video.qq.com/1641213/p0685fxrwij.png 如果是在...
  • Nginx反向代理根据url参数访问后端指定服务器 发表于2019 年 07 月 25 日由ken 今天因为工作需要,需要指定图片访问的是后端指定的反向代理服务器。 最后修改nginx配置实现,访问效果//img....
  • Nginx 配置根据路径转发

    千次阅读 2021-11-15 19:05:02
    Nginx 配置根据路径转发 总结: 先谈理解: 1.反向代理:是nginx代理所有的服务器。而正向代理是vpn代理客户端!! 反向代理是配置 proxy_pass 可以只配置一个地址如 : proxy_pass http://127.0.0.1:8081; 也可以...
  • 在http请求后端时,token是一种非常常见的使用方式,但是如果url请求参数不带token,或者请求头部不带token这样的请求应当直接返回401,而不要代理给后端服务器做处理了。可以有效降低后台服务器的负载。 ...
  • 配置nginx方向代理,实现URL隐形转发 (附带nginx配置文件详解) 项目名称:【域名解析–隐形URL转发】–centos 7.3 环境: 阿里云服务器之上有多个tomcat; tomcat的网站基于ip+端口开发+项目名名称...
  • Nginx根据URL重定向到不同项目

    千次阅读 2020-03-03 21:37:49
    Nginx根据URL重定向到不同项目原文地址:Nginx根据URL重定向到不同项目
  • 生产过程中肯定会遇到升级, 大多数公司应该实现了无感知灰度发布->正式发布, 此篇博客只适用于需要维护页面的群体. 一.... 一般有2种, app的h5升级维护页面, web工程的h5维护页面....配置nginx.co...
  • 这里就涉及到一个URL重写的的概念,可以使用多种方式来实现,那么这里由于前端程序时通过 webpack 打包后,将静态文件发布在 nginx 上,所以我们需要通过 nginx 的 rewirte 指令来进行 URL 的重写。 location匹配...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,103
精华内容 10,041
关键字:

nginx根据url参数转发