线上的一个海外充值接口(https)经常因我朝网络问题中断,想借助hk的机器做个https反向代理又没证书。

一开始

一开始想到的办法是借助Nginx的tcp转发进行代理:

编译NGINX时加入 --with-stream选项,

upstream backend {
server xxxxxx.com:443 ;
}
server {
listen 443;
proxy_pass backend;
proxy_connect_timeout 5s;
proxy_timeout 15s;
error_log /data/logs/tcp_xxxxxx.com.log info;
}

服务器通过绑定host,将https://xxxxxx.com的访问请求到中转机再反向到实际的海外服务器确实也ok

不过这里也将面临一个问题:443端口只能被https://xxxxxx.com占用,无法给其他域名的代理提供作用

后来

如果我想https://xxxxxx.com和https://yyyyyy.com都借助这台机器代理呢?

Nginx的stream_ssl_preread_module可以解决这个问题

ngx_stream_ssl_preread_module模块(1.11.5)允许从ClientHello消息中提取信息而不终止SSL / TLS,例如,通过SNI请求的服务器名称或在ALPN中通告的协议。 默认情况下不构建此模块,应使用--with-stream_ssl_preread_module配置参数启用它。

Nginx(1.11+),编译时加入:--with-stream--with-stream_ssl_preread_module 两个选项,

然后配置:

#$ssl_preread_server_name #通过SNI请求的服务器名称
map $ssl_preread_server_name $real_server {
xxxxxx.com xxx;
yyyyyy.com yyy;
}
upstream xxx{
server xxxxxx.com:443;
}
upstream yyy{
server yyyyyy.com:443;
}
server {
listen 443;
ssl_preread on; #允许在预读阶段从ClientHello消息中提取信息
resolver 8.8.8.8;
proxy_pass $real_server;
proxy_connect_timeout 5s;
proxy_timeout 15s;
error_log /data/logs/stream_ssl_preread.log info;
}

这样就可以给https://xxxxxx.com 和https://yyyyyy.com两个域名做tcp层的代理了,其他域名如果也绑host过来就会被403掉。

参考:http://nginx.org/en/docs/stream/ngx_stream_ssl_preread_module.html

手头没证书,如何给https做代理?Nginx TCP转发的更多相关文章

  1. Nginx实现ssl一级、二级域名证书部署并用https访问代理转发服务器

    1.  规划 域名 解析IP Nginx代理 htpps://www.devcult.com 47.88.10.155   htpps://auto.devcult.com 47.88.10.155 ...

  2. windows系统配置Nginx使用SSL证书实现Https反向代理

    Nginx反向代理服务,可以代理接收请求,并把请求转发到设置好的其他服务器上. 例如,Nginx服务器为 100.101.102.103,A服务为 100.101.102.104 ,通过Nginx配置 ...

  3. 用squid做http/https正向代理

    0.环境准备 VM1(server):nat-192.168.12.128 bridge-192.168.124.128 VM2(client):bridge-192.168.124.129 在VMw ...

  4. CA证书扫盲,https讲解。

    很多关于CA证书的讲解. 1.什么是CA证书. 看过一些博客,写的比较形象具体. ◇ 普通的介绍信 想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 B 公司的所有 ...

  5. CA证书扫盲,https讲解

    很多关于CA证书的讲解. 1.什么是CA证书. 看过一些博客,写的比较形象具体. ◇ 普通的介绍信 想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 B 公司的所有 ...

  6. windows:nginx配置http、https反向代理

    一.下载 Windows 版本的 nginx nnginx下载:http://nginx.org/en/download.html 推荐稳定版本.下载完成后,解压得到 nginx-1.14.0 ,我把 ...

  7. 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  8. 端口被占用通过域名的处理 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  9. 使用fiddler4做代理调试手机页面

    由于一般手机不能改host,手机页面如果涉及到各个域名ip的混合使用,在手机上调试看效果非常麻烦. 使用fiddler4做代理,手机跟电脑连到同一个局域网,手机上网通过电脑做个代理上网,那么一切请求就 ...

随机推荐

  1. IOP知识点(1)

    1  实例明细url显示 2  增加了logo图片可以编辑 1  实例明细url显示 是在iop中写死的配置 2  增加了logo图片可以编辑 仿照 admin里  服务工厂-服务定义中的内容 (1) ...

  2. mac-Navicat Premium 12连接Oracle

    安装及破解: https://pan.baidu.com/s/1ip0oM9p856k34t3cIExa7Q(提取码请留言) Navicat连接了Oracle数据库 测试连接失败,提示:hostnam ...

  3. VirtualBox 在Win10上的蓝屏问题

    今天也是第一次使用VirtualBox ,因为比VM更轻量,当然主要还是版权,结果装完虚拟机后,每次打开虚拟机就蓝屏,系统报错. 这是出现在WIN10上的问题啊. 解决办法: 找到Control Pa ...

  4. gperftools 使用经验总结

    先看了网上的一些资料,但都不太适合我.还是看了详细的资料才学会怎么用. 按照 http://www.cnblogs.com/persistentsnail/p/3294843.html,yum安装gp ...

  5. .Net拾忆:Asp.net请求管道

    w3wp.exe应该很熟悉,调试应用时候附加到进程就是这个服务:w3wp.exe和应用池相关联,每个应用池会有一个w3wp; 一.Http请求到iis应用池 IIS 5.x iis运行在inetinf ...

  6. iOS UI基础-12.0 Storyboard

    storyboard创建控制器 1.先加载storyboard文件(Test是storyboard的文件名) UIStoryboard *storyboard = [UIStoryboard stor ...

  7. sqli-labs(五)——盲注(boolean盲注以及时间盲注)

    第八关: 没有查询信息,输入id=1' 报错 ,也没有报错信息,这里应该是个盲注 使用boolean的盲注吧 先判断boolean的盲注可行 输入id=1' and '1'='1' %23 页面正常 ...

  8. OWASP top 10

    OWASP Top 10 A1: InjectionSolution+Validate User Input+Never concatenate queries and date+Parameteri ...

  9. keras 上添加 roc auc指标

    https://stackoverflow.com/questions/41032551/how-to-compute-receiving-operating-characteristic-roc-a ...

  10. CSS选择符-----伪类选择符

    Element:hover E:hover { sRules }  设置元素在其鼠标悬停时的样式 <!DOCTYPE html> <html> <head> < ...