背景

公司正式服务器都是局域网环境,通过一台有外网的服务器作跳板机,使用nginx反向代理来访问服务。
这样一来,局域网内的服务就无法访问外网,导致下图报错。

解决问题

当时从csdn上找到了解决方案,由于第一次写博客,就照原文搬了很多。 关于内网使用Nginx正向代理发送极光推送
附上官方的说明:关于网络限制的相关说明

如果你的服务器要调用 JPush REST API,那么使用 V3 接口要开通端口 443 端口(https 服务默认走 443 端口)、使用 V2 接口(HTTP)(该接口已不维护,不建议使用)要开通 80 端口。API 是有很多服务器的,IP 是域名动态分配的,所以每次调用的 IP 地址不同,所有 API 都只支持 https 访问,也就是说只支持以域名方式访问。我们有几个 IP 基本固定,可以考虑对这几个 IP 开通 防火墙白名单或者 host 绑定 :
113.31.138.48
113.31.138.47
183.232.57.12
除此之外,自行 ping 解析到的 IP 地址也可以加上。
注:IP 会尽可能保持不变,但,IP 不保证不变,IP 也不保证一定固定;如果 host 绑定了 IP,如果 IP 变更或者增加,非极光 VIP 合作客户,我们不会另行知会,请知悉。遇到超时、无法访问极光服务器时,排查问题,可以采用以下方法,并提供你的错误 log 、你请求推送的服务端 IP 地址与下述操作结果给官方人员:
域名为你请求有异常的极光的域名,推送的域名是 api.jpush.cn;文档说明点我直接 curl 推送的结果
nsloookup 域名
ping 域名
mtr 域名
tracepath 或者 traceroute 域名
telnet 域名 端口

从以上两篇文档得知,极光都是通过域名 https://api.jpush.cn/v3/push 将消息发送出去,因此在这里可以使用 nginx 正向代理,使内网服务(极光)访问外网数据。
这里就要解决两个问题:

  1. 在极光的服务上,将proxy 配置为请求能访问外网的服务器IP
  2. 配置nginx,使用正向代理,将指定规则的路径转发到极光

配置极光

假设能访问外网的服务器(即正向代理 nginx服务器)ip 为1.1.1.1
使用 HttpProxy 代理,并初始化JPushClient,

     HttpProxy httpProxy = new HttpProxy("1.1.1.1", 443);ClientConfig clientConfig = ClientConfig.getInstance();clientConfig.setPushHostName("http://1.1.1.1");jPushClient = new JPushClient(secret, appkey, httpProxy, clientConfig);

配置nginx.conf

server {#极光默认端口,需要开放listen       443;underscores_in_headers on;proxy_redirect off;#   proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location /v3 {proxy_pass https://api.jpush.cn;}}

当时配置的时候从网上复制了一堆配置,给自己挖了一个坑,因为 proxy_set_header Host $http_host; 这段代码,导致极光请求时,总是返回403,当然这也要写一篇文章记一下。

记一次内网环境正向代理极光推送相关推荐

  1. 【安全学习】记一次内网环境渗透

    注意: 本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的.我将使用Kali Linux作为此次学习的攻击者机器.这里使用的技术仅用于学习目的,如果列出的技 ...

  2. 内网安全-域横向内网漫游Socks代理隧道技术

    因为是两个局域网 当你用kali生成一个后门文件放到目标主机 设置后门的反弹地址时,设置为你的外网地址时,后们会将信息反弹到你的路由器上 设置为内网地址时,又找不到你 案例 1-内网穿透 Ngrok ...

  3. 内网安全学习(六)—域横向-内网漫游: Socks 代理

    内网安全-域横向内网漫游 Socks 代理隧道技术 1.前置知识: 1)正向与反向连接: 正向就是你去连接被控主机,但由于机器处于内网内,分配的内网ip,无法直接找到,所以需要方向连接,即让主机连接我 ...

  4. 【内网—内网转发】——代理转发_ew(Earthworm)代理转发

    文章目录 一.环境准备: 二.工具: 三.概念: 四.学习目的: 五.ew(Earthworm)介绍: 六.ew(Earthworm)使用说明: 七.ew(Earthworm)正向代理(适用于被控服务 ...

  5. 【内网安全】域横向内网漫游Socks代理隧道技术

    代理技术和隧道技术都属于内网穿透,代理主要解决内网里面通信的问题(比如对方在内网,你也在内网,这时候两个内网实现通信就必须要经过代理才能实现,常见工具有frp.ngrok和ew等,ew(earthwo ...

  6. CFS 三层内网环境搭建及渗透

    0x00 cfs三层内网基本环境介绍及配置 hacker主机能ping通centos,centos能ping通unbuntun,,unbtun能ping通win7,内网centos,unbuntu有两 ...

  7. 【内网—内网转发】——代理转发_SSH代理转发

    文章目录 一.环境准备: 二.工具: 三.概念: 四.学习目的: 五.SSH代理转发介绍: 六.SSH代理转发使用说明: 七.SSH代理转发: 1. 正向动态转发隧道: 1.1 场景: 1.2 网络拓 ...

  8. 内网穿透反向代理应用 xfrp

    授权协议: Apache 开发语言: C/C++ 操作系统: 跨平台 软件首页: https://github.com/KunTengRom/xfrp 软件文档: https://github.com ...

  9. 22. 案例:在 proxy 内网环境下使用 percona 监控 mysql

    文章目录 22. 案例:在 proxy 内网环境下使用 percona 监控 mysql 22.1 安装 mysql 22.2 安装 percona 22.3 安装 agent 22.4 配置 age ...

  10. 内网环境部署zabbix5.0版本监控(一)

    内网环境部署zabbix5.0版本 首先需要在有网的环境先做一个yum源本地配置zabbix5.0.mysql5.7.epel源 Zabbix: rpm -Uvh https://repo.zabbi ...

最新文章

  1. 10自带sftp服务器_一文讲透FTP和SFTP的区别
  2. pack_padded_sequence 和 pad_packed_sequence
  3. PHP——MySQL数据库连接与关闭自定义函数
  4. Eclipse快捷键壁纸-0基础必备
  5. 使用sql语句创建和删除约束示例代码
  6. 服务器时间延迟,如何处理从服务器延迟响应时间'力逼近'
  7. 测试管理 | 测试经理定义和实施测试度量
  8. BUS HOUND调试USB驱动遇到的错误代码解析
  9. 37. customer payment(1)
  10. CSS/HTML/JS实现图片轮播
  11. Java-模拟KTV点歌(控制台程序)
  12. Tesseract OCR iOS 教程
  13. QML 编译release 报错: qmlcache_loader.cpp:-1: error: undefined reference to `__imp__ZN11QQmlPrivate13qml
  14. 计算机表格复制粘贴,在Excel同一个工作表中,如何复制表格格式(excel表格粘贴复制技巧)...
  15. hera(赫拉)任务调度系统--为数据平台打造的任务调度系统
  16. 概率论与数理统计期末考试复习总结
  17. 深造分布式 打败面试官 招式三 直捣黄龙
  18. 保弘实业|理财要有合理的计划
  19. android 采集音频输出,Android系统分析之Audio音频流, 音频策略, 输出设备之间的关系...
  20. Pytorch基础打卡01

热门文章

  1. python获取本机ip地址_python3 获取本机ip地址
  2. 大一c语言期末考试编程题
  3. 谭浩强《c语言程序设计》第四版--重点难点总结
  4. Windows虚拟机忘记操作系统密码
  5. XML的注释踩坑记录
  6. 数字金字塔MySQL存储过程_千金良方——MySQL性能优化金字塔法则
  7. 大数据技能练习之爬虫
  8. 分析LOIC流,判断DDoS攻击源
  9. Java实现经典坦克大战及源代码下载
  10. 基于NSGA3的swat模型情景的多目标优化算法,python