精华内容
下载资源
问答
  • HttpClient设置代理的请求

    千次阅读 2016-08-19 10:33:00
    在爬取数据时候有时候不能使用自己真实ip爬取,需要简单配置一下用代理来完成。 public static String getHttpGet(String url){ //get请求  HttpHost proxy = new HttpHost("127.0.0.1", 1080);  ...

    在爬取数据的时候有的时候不能使用自己的真实ip爬取,需要简单配置一下用代理来完成。

    public static String getHttpGet(String url){ //get请求
            HttpHost proxy = new HttpHost("127.0.0.1", 1080);  
            DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxy);  
            CloseableHttpClient httpclient = HttpClients.custom()  
                    .setRoutePlanner(routePlanner)  
                    .build();  
            HttpGet get=new HttpGet(url);
            try {
                CloseableHttpResponse response = httpclient.execute(get);
                
                HttpEntity entity = response.getEntity();
                return EntityUtils.toString(entity);
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }

    展开全文
  • 在配置nginx反向代理的时候发现匹配路径上的一些问题。 问题: 1.如图这两种配置方式其实实现的代理是一样的效果。也就是说proxy_pass后没有追加匹配到的请求路径,真正的请求路径就是 ...

    背景

    在配置nginx反向代理的时候发现匹配路径上的一些问题。

    问题:

    1.如图这两种配置方式其实实现的代理是一样的效果。也就是说proxy_pass后没有追加匹配到的请求路径,真正的请求路径就是 https://qyapi.weixin.qq.com/cgi-bin
    在这里插入图片描述

    2.如图中这种配置会追加匹配到的请求路径,也就是说真正的请求路径是 http://localhost:8848/nacos/v1
    在这里插入图片描述

    结论:

    初步判读应该是跟端口号有关的,凡是 80 端口都不会追加匹配到的请求路径,反之则追加路径。
    
    展开全文
  • 通过浏览器访问,可以看到apache确实对响应头进行了处理,但是通过反向代理访问的请求,apache却无法对其Header进行处理,为什么? 图1是访问apache 本身的资源的响应,可以看到有 MyHeader 字段 图2是访问会被...
  • 问题描述:在请求时往请求头header中放入了签名sign_val信息,在接收请求时再从header中拿出,在本地调试时是可以,但通过NGINX代理之后发现拿不到。 解决: 1.NGINX代理时加上请求头信息: location / { ...

    问题描述:在请求时往请求头header中放入了签名sign_val信息,在接收请求时再从header中拿出,在本地调试时是可以的,但通过NGINX代理之后发现拿不到。
    解决:
    1.NGINX代理时加上请求头信息:

       location / 
    	{
            proxy_next_upstream http_502 http_504 error timeout invalid_header;
            proxy_set_header Host  $host;
    	    proxy_set_header X-Real-IP $remote_addr;
    	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    	    proxy_pass http://web1;
            }
    

    发现没有解决,最后发现是NGINX对header有所限制,下划线(_)不支持。
    方法一:不用下划线
    把下划线_改成其他的,如sign_val改成sign-val

    方法二:从根本解除nginx的限制
    nginx默认request的header的那么中包含’_’时,会自动忽略掉。
    解决方法是:在nginx里的nginx.conf配置文件中的http部分中添加如下配置:
    underscores_in_headers on; (默认 underscores_in_headers 为off)
    我使用的是方法一,方法二没有试。
    此文章同步到了我个人公众号:java面试工程师。关注公众号更加便于查阅。

    展开全文
  • Nginx 利用代理转发请求实例

    千次阅读 2018-03-09 18:51:58
    我们米扑科技业务遍布全球,有时国外客户无法访问我们搭建在国内服务,这就要求我们在国外服务器上搭建一个代理转发服务,用户请求国外服务器域名,然后代理转发到国内,处理请求后返回结果给国外客户。...

    我们米扑科技的业务遍布全球,有时国外的客户无法访问我们搭建在国内的服务,这就要求我们在国外服务器上搭建一个代理转发服务,用户请求国外服务器的域名,然后代理转发到国内,处理请求后返回结果给国外的客户。Nginx 不仅可以实现负载均衡,还可以实现反向代理转发,非常适合我们的使用场景,因此我们米扑科技采用 Nginx 利用代理转发请求实例。

    米扑博客原文:Nginx 利用代理转发请求实例

     

    Nginx 利用代理转发请求实例

    nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理。

    nginx 反向代理官方文档: NGINX REVERSE PROXY

    当在一台主机上部署了多个不同的web服务器,并且需要能在80和443端口同时访问这些web服务器时,可以使用 nginx 的反向代理功能,用 nginx 在80端口监听所有请求,并转发给443端口,再由443端口统一依据转发规则转发到对应的国内web服务器上。

     

    示例:

    proxy.mimvp.com  域名在阿里云备案,部署在国内的北京阿里云服务器

    proxy.mimgu.cn     域名在腾讯云备案,部署在国外的新加坡腾讯云服务器(国外域名可不备案)

     

    1. 国内北京阿里云服务器proxy.mimvp.com

    vim mimvp_proxy.conf

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    server {
       listen       80;
      server_name   proxy.mimvp.com;       # 域名可以有多个,用空格隔开
      root      www/mimvp_proxy;
       rewrite ^(.*)$  https://$host$1 permanent;
     
      location / {
        root        www/mimvp_proxy;
        index       index.php index.html index.htm;
      }
     
      location ~ \.php$ {
        root                www/mimvp_proxy;
        fastcgi_pass        127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME /scripts$fastcgi_script_name;
        include         fastcgi.conf;
      }
     
        location ~* ^/(images|img|javascript|js|css|blog|flash|media|static)/ {
            root        www/mimvp_proxy;
            expires     30d;
        }
     
        location ~* ^/(robots\.txt) {
            root        www/mimvp_proxy;
            expires     365d;
        }
     
        location ~* ^/favicon\.ico {
            root        www/mimvp_proxy;
            expires     365d;
        }
     
        location ~* ^/img/logo\.png {
            root        www/mimvp_proxy;
            expires     365d;
        }
     
        location ~ /\.ht {
            deny  all;
        }
    }
     
     
    server {
        listen          443 ssl http2;
        server_name     proxy.mimvp.com;       # 域名可以有多个,用空格隔开
        root            www/mimvp_proxy;
        ssl             on;
     
        ssl_certificate      proxy.mimvp.com.crt;
        ssl_certificate_key  proxy.mimvp.com.key;
     
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  10m;
     
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
     
      location / {
        root        www/mimvp_proxy;
        index       index.php index.html index.htm;
      }
     
      location ~ \.php$ {
        root                www/mimvp_proxy;
        fastcgi_pass        127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME /scripts$fastcgi_script_name;
        include         fastcgi.conf;
      }
     
        location ~* ^/(images|img|javascript|js|css|blog|flash|media|static)/ {
            root        www/mimvp_proxy;
            expires     30d;
        }
     
        location ~* ^/(robots\.txt) {
            root        www/mimvp_proxy;
            expires     365d;
        }
     
        location ~* ^/favicon\.ico {
            root        www/mimvp_proxy;
            expires     365d;
        }
     
        location ~* ^/img/logo\.png {
            root        www/mimvp_proxy;
            expires     365d;
        }
     
        location ~ /\.ht {
            deny  all;
        }
    }

     

     

    2. 国外新加坡腾讯云服务器proxy.mimgu.cn

    vim mimvp_proxy2.conf

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    server {
       listen       80;
      server_name   proxy.mimgu.cn;      
      root      www/mimvp_proxy;
       rewrite ^(.*)$  https://$host$1 permanent;   ## 全部请求强制跳转到 https
    }
     
     
    server {
        listen          443 ssl http2;
        server_name     proxy.mimgu.cn;      
        root            www/mimvp_proxy;
        ssl             on;
     
        ssl_certificate      proxy.mimgu.cn.crt;
        ssl_certificate_key  proxy.mimgu.cn.key;
     
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  10m;
     
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
     
      location / {
        proxy_pass          https://proxy.mimvp.com;    ## 全部请求强制跳转到国内服务器 https://proxy.mimvp.com
      }
     
      location ~ \.php$ {
        proxy_pass          https://proxy.mimvp.com;
      }
     
        location ~* ^/(images|img|javascript|js|css|blog|flash|media|static)/ {
            proxy_pass          https://proxy.mimvp.com;    ## css,js,img 等全部要强制转发,否则可能排版错乱
        }
     
        location ~* ^/(robots\.txt) {
            proxy_pass          https://proxy.mimvp.com;
        }
     
        location ~* ^/favicon\.ico {
            proxy_pass          https://proxy.mimvp.com;
        }
     
        location ~* ^/img/logo\.png {
            proxy_pass          https://proxy.mimvp.com;
        }
     
        location ~ /\.ht {
            deny  all;
        }
    }

     

    3. 查看效果

    http://proxy.mimvp.com          // 强制跳转到  https://proxy.mimvp.com

    https://proxy.mimvp.com        // 对外显示的唯一域名网址

    http://proxy.mimgu.cn            // 强制跳转到  https://proxy.mimgu.cn,然后继续强制跳转到 https://proxy.mimvp.com

    https://proxy.mimgu.cn          // 强制跳转到  https://proxy.mimvp.com

     

    小结

    1. 四个域名,统一跳转指向唯一的服务 https://proxy.mimvp.com

    2. http 实现了强制跳转到 https ,整个网站使用ssl加密

    3. 国外的腾讯云域名(proxy.mimgu.cn),nginx代理转发到了国内阿里云域名(proxy.mimvp.com

    4. 上面nginx配置文件,是一个经典的配置,信息量大,值得认真学习米扑科技的匠心服务

     

     

    参考推荐:

    Nginx Redirect重定向所有子域名到www

    Nginx 配置文件禁止访问目录或文件

    Nginx屏蔽访问过于频繁的IP

    Mac OS X 安装 Nginx

     

    展开全文
  • 使用代理http请求变化

    千次阅读 2013-06-17 11:53:45
    winsock实现HTTP代理提交HTTP请求的方法有两种 1、直接请求 2、先连通远程服务器后就相普通提交请求一样提交HTTP请求 说一下第一种方法: 先说一下我们普通提交HTTP请求的过程: 直接连接远程服务器后...
  • 结果,发送了POST请求,并且重定向成为GET请求。我该如何解决? ? nginx: ![图片说明](https://img-ask.csdn.net/upload/202003/29/1585456146_895979.png) 浏览器: ![图片说明]...
  • Java实现HttpPost、Get、代理访问请求
  • 在匹配到api字符串开头的请求,则通过代理请求到真实接口http://106.xx.xxx.xxx:8080。 vue.config.js // webpack-dev-server 相关配置 devServer: { host: 'localhost', port: 3001, overlay: { warnings: f
  • 2、通过TCP三次握手建立连接通道,浏览器根据IP地址指定对应代理服务器发起一个GET请求,如果代理服务器有多台,需要负载均衡设备来平均分配用户请求; 3、代理服务器通过Nginx反向代理,从后端服务器(如Web...
  • Fiddler设置代理HTTPS请求

    千次阅读 2019-09-02 21:04:04
    1.菜单栏:tools->options 2.打开HTTPS配置项:切换到HTTPS页签,红色框框两项打勾 3.如果选项打勾后,弹出以下...5.回到步骤2HTTPS配置项页面,点击[OK],然后重启Fiddler,即可实现HTTPS请求代理。 ...
  • nginx做反向代理处理http请求的过程

    千次阅读 2018-11-15 11:27:54
    nginx做反向代理处理http请求的过程
  • 通过nodepipe实现请求代理

    千次阅读 2016-11-11 14:19:40
    通过nodepipe实现请求代理
  • 在使用过程中,不可以常规scrapy使用习惯来进行splaship代理替换和请求替换。经过我测试,直接在SplashRequest中进行二者替换都是会使程得到错误返回结果。 经过我使用确保正确ip代理替换方式有两种...
  • ajax跨域post请求的java代理实现

    万次阅读 2014-02-25 17:51:38
    ajax 跨域 post请求 java 代理实现
  • 项目中遇到需要获取请求端口需求,本地测试时可以获得请求url中port, 到测试环境下用到nginx 反向代理,获取port就被偷天换日了,下面记录下解决过程。 正文 一、 获取http请求的Port # 方法参数为...
  • HTTP代理实现请求报文拦截与篡改1--开篇HTTP代理实现请求报文拦截与篡改2--功能介绍+源码下载HTTP代理实现请求报文拦截与篡改3--代码分析开始HTTP代理实现请求报文拦截与篡改4--从客户端读取请求...
  • Nginx中如何配置HTTPS反向代理发送请求到后端HTTP接口 Nginx中配置https做反向代理 大家好,因为不是专业做Nginx之前也没有学习过,大都是自己踩坑之后总结,希望对大家有所帮助! 下面直接开始讲解,首先我们...
  • Java - 使用RestTemplate代理Http请求

    千次阅读 2018-11-15 11:15:47
    使用RestTemplate代理Http请求(请求方式不限),下面对POST请求的Body进行了封装。 HttpEntity:请求实体。 封装Body还可以用MultiValueMap。 public ResponseEntity<byte[]> proxy(String prefix, ...
  • Nginx请求反向代理

    千次阅读 2019-05-22 15:35:36
    在Nginx中请求的反向代理处理流程,请求都是经过了哪些模块,做了哪些处理,又是如何找到应用服务器呢? 为直观明了,先上一张图,红色部分为本章所述模块: 本章所述模块 正如标题所述,Nginx功能是进行请求的...
  • 在前后端分离开发中使用nginx做反向代理请求服务器地址时,发现自定义header请求头Authorization信息丢失了,在网上找了很多资料都不是我所需要,现解决后记录如下: 修改nginxnginx.conf配置文件,添加...
  • 虽然angularhttp请求中提供了jsonp处理跨域问题,但是不常用,我们web服务器端可能会选择别方式处理web服务器端使用nginx进行反向代理处理 使用nodejs中node-http-proxy解决本地开发ajax跨域问题 使用angular...
  • 截取移动设备上网络请求包 2.1手动重复请求(Repeat,Advanced Repeat) 2.2手动模拟请求(Compose) 2.3修改网络请求内容(Compose) 过滤网络请求 代理转发 支持https请求抓包(如果配置了还是抓不到,下面有...
  • vue使用代理解决请求跨域问题

    千次阅读 2019-03-15 09:37:35
    在日常开发中,我们前端必不可少需要像后端请求数据。 但是一般前后端分离,所以域名、端口等肯定不尽相同,这样就不可避免会遇到浏览器同源策略限制。 在一般情况下,后端都会设置请求跨域允许来源、方法...
  • Nginx正向代理http请求

    千次阅读 2018-07-19 14:02:09
    1.简单正向代理 #正向代理http  server {  # access_log /home/bingchenglin/logs/nginx/access.log; 日志一般最上面配置全局  listen 8082;  location / {   resolver 8.8.8.8;#DNS解析 可...
  • 前言平时测试时候可能会遇到使用Java发送http或者https请求的需求.网上找了一圈暂时没有发现比较称心方便...主要实现http/httpsget和post请求,并支持设置代理抓包.只需要一个Java文件就搞定,不需要第三方库支持.
  • 但.do的请求我可能会改成192.168.0.2:8080/user/addUser.do。而且这种动态请求会有很多,而url我重写的话只需要把域名或者ip+端口。 我该怎么做呢?apache是不是可以配置,如果请求是.do的,就重写url后进行反向代理...
  • 经常会发生请求其他外部接口发生跨域,或者暴露key等令人头疼问题,这时候可以用express做一个转发去请求另外一个接口 话不多说,上代码: router.post('/proxy', function(req, res, next){ res.header('Access-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,433
精华内容 12,973
关键字:

代理的请求