在实际项目中,由于https安全策略,我们无法直接跳转到我们想要跳转到的地址

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

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

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

如果是在代码中,我们可以通过正则表达式,字符串截取,xpath等方式很容易获取以上地址。

但我这边想要达到的效果是:我们直接请求服务器,服务器自动去识别并访问到我需要的资源,如果你的项目中用到了nginx,那么我要恭喜你,你离成功只差一步了,哈哈。

鉴于有些小盆友可能对nginx还不太熟悉,我简单介绍一下:

Nginx是一个高性能的HTTP和反向代理服务,可以用于搭建轻量级web服务器及反向代理服务器,可以通过反向代理实现负载均衡,支持高并发,占用内存率比较小,nginx可以配置多个域名映射同一映射地址。

我们言归正传把,在nginx.conf增加以下配置信息

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

location ~/image {
      if ($query_string ~*  ^(.*)url=(.*)$){
           set $imageUrl $2;
           proxy_pass $imageUrl;
      }
 }

重启nginx即可生效

关注本人订阅号:IT技术乱弹,获取更多信息。
---------------------
作者:柯之梦
来源:CSDN
原文:https://blog.csdn.net/yin4302008/article/details/85453259
版权声明:本文为博主原创文章,转载请附上博文链接!

nginx根据url中的参数进行转发的更多相关文章

  1. 如何获取url中的参数并传递给iframe中的报表

    在使用报表软件时,用户系统左边一般有目录树,点击报表节点就会在右侧网页的iframe中显示出报表,同时点击的时候也会传递一些参数给网页,比如时间和用户信息等.如何使网页中的报表能够获取到传递过来的参数 ...

  2. JavaScript如何获取网页url中的参数

    我们可以自定义一个公共函数来实现网页url中的参数获取,返回的是一个数组 GetUrlRequest: function () { var url = decodeURI(location.searc ...

  3. 使用JS,获取URL中指定参数的值

    /** * 获取URL中指定参数的值 * * @param name 参数名称 * @returns */ function getQueryString(name) { var reg = new ...

  4. APPCAN开发笔记:html页面之间的参数传递:使用js获取url中的参数,以及在APPCAN中不能使用的解决方法

    用PHP的GET/POST方式来传递方式已经是司空见惯了,但是如果我的页面是一个静态的html的页面,想传递参数的时候要怎么办呢?在APPCAN的开发中我们会经常遇到这样的问题,因为所有的页面都是静态 ...

  5. 通过Javascript得到URL中的参数(query string)

    我们知道,"GET"请求中,通常把参数放在URL后面,比如这样http://www.cnblogs.com/season-huang/index?param=yes&art ...

  6. javaScript获取url中的参数

    var urlTools = { //获取RUL参数值 getUrlParam: function(name) { /*?videoId=identification */ var params = ...

  7. ${param.xxx}获取url中的参数

    在项目中看到了一个很奇怪的EL表达式...${param.catid}...一直找不到param在哪里定义的...(主要是水平太屎...) 然后从网上查了一下才知道是啥... EL表达式${param ...

  8. vue中如何不通过路由直接获取url中的参数

    前言:为什么要不通过路由直接获取url中的参数? vue中使用路由的方式设置url参数,但是这种方式必须要在路径中附带参数,而且这个参数是需要在vue的路由中提前设置好的. 相对来说,在某些情况下直接 ...

  9. 获取url中的参数\+发送ajax请求根路径|+获取复选框的值

    //获取url中的参数function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=( ...

随机推荐

  1. input实时监听

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. laravel中的plicy授权方法:

    1.用命令新建policy: php artisan make:policy PostPolicy 2.在app/Policies/PostPolicy.php中添加处理文件的权限的方法: //修改: ...

  3. mac mamp环境 和linux下 安装redis 和可视化工具 Redis Desktop Manager

    mac下安装 第一步:安装redis 1. brew install redis 2.启动服务/usr/local/opt/redis/bin/redis-server 3.配置redis密码访问 编 ...

  4. Linux Hadoop集群搭建第二步:--------SSH免密登陆

    内容和Linux 搭建 Hadoop集群--Jdk配置相关联 三台虚拟机的操作 Linux SSH免密登陆: 参考网址:http://www.cnblogs.com/999-/p/6884861.ht ...

  5. Ubuntu16.04 python import cv2

    有些项目源代码里面需要导入cv2,没有安装的话会出现ImportError: No module named cv2. 下面给出如何在ubuntu下安装cv2: 直接在ternimal终端中输入命令: ...

  6. AndroidSDK 自带定位工具 uiautomatorviewer

    前言:uiautomatorviewer是androidSDK自带的定位工具 1.打开目录D:\Android\androidSDK\tools\bin 2.点击启动uiautomator,页面显示如 ...

  7. L248 词汇题 2006

    The audience, hostile at first, were greatly impressed by her excellent performance. He wanted to st ...

  8. global $GLOBALS 区别

    PHP代码 复制代码 代码如下: <?php // 例子1 function test_global() { global $var1, $var2; $var2 =& $var1; } ...

  9. 继承and派生

    1.什么是继承?(python2与python3) 在程序中继承是一种新建子类的方式,新创建的类称之为子类\派生类,被继承 的类称之为父类\基类\超类 继承描述的是一种遗传关系,儿子可以重用爹的属性 ...

  10. 2019-03-01-day002-基础编码

    01 昨日内容回顾 编译型: 一次性编译成二进制. 优点:质型速度快. 确定:开发效率低,不能跨平台. 解释型: 逐行解释,逐行运行. 优点:开发效率高,可以跨平台. 缺点:回字形效率低. pytho ...