手头没证书,如何给https做代理?NGINX TCP转发

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

一开始

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

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

upstream backend {
   server xxxxxx.com:443 ;
}
server {
    listen 443;
    proxy_pass backend;
    proxy_connect_timeout 15s;
    proxy_timeout 15s;
    proxy_next_upstream_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可以解决这个问题

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

然后配置:

map $ssl_preread_server_name $backend_pool {
    xxxxxx.com    xxx;
    yyyyyy.com    yyy;
}
upstream xxx{
    server xxxxxx.com :443;
}
upstream yyy{
    server yyyyyy.com:443;
}
server {
    listen 443;
    ssl_preread on;
    resolver 8.8.8.8;
    proxy_pass $backend_pool;
    proxy_connect_timeout 15s;
    proxy_timeout 15s;
    proxy_next_upstream_timeout 15s;
    error_log /data/logs/tcp_xxxxxx-yyyyyy.com.log info;
}

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

这里其实是利用了NGINX的TCP转发做了SNI 反代,与普通的http/http的区别在于,TCP转发只是四层转发不需要证书:

  • SNI 反代:tcp 镜像流复制
  • 普通的 https 反向:需要挂证书二次加解密

在很多公司有内外网隔离得情况下,内网研发人员的一些开发工具需要访问https镜像仓库站点时(例如:Gradle Plugin),就可以借助SNI反向实现

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

原文地址:https://www.cnblogs.com/wshenjin/p/8719016.html

时间: 2024-11-16 19:30:53

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

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

1.  规划 域名 解析IP Nginx代理 htpps://www.devcult.com 47.88.10.155   htpps://auto.devcult.com 47.88.10.155 https://www.automa.com htpps://www.automa.com 103.200.200.203   本次实验用了2个一级域名,1个二级域名,2个ip地址:实现功能如上图所示,要求全部使用https,并且一级域名实现自动补全www. 2. 前提准备 47.88.10.155

搭建nginx反向代理用做内网域名转发

基于域名的7层转发的实现(NAT+反向代理) 在实际办公网中,因为出口IP只有一个,要实现对外提供服务的话就必须得做端口映射,如果有多个服务要对外开放的话,这只能通过映射不同端口来区分,这在实际使用过程中非常的痛苦(记忆困难.一一对应关系也没有规律.访问的时候还得加端口),这个痛苦的问题用表格的形式来形象的描述如下: Public IP Public Port Number Internal IP Internal Port Number Note 1.1.1.1 80 192.168.1.10

apache https反向代理设置方案

通过设置一台apache服务器完成对  https://10.6.177.66内容的访问,后来经过学习才了解,我们其实就是需要在自己的apache服务器中,创建一个https://10.6.177.66的反向代理.首先介绍一下何为反向代理: 一.反向代理的概念 反向代理也就是通常所说的WEB服务器加速,它是一种通过在繁忙的WEB服务器和Internet之间增加一个高速的WEB缓冲服务器(即:WEB反向代理服务器)来降低实际的WEB服务器的负载. Web服务器加速(反向代理)是针对Web服务器提供

编译安装Apache HTTP Server 2.4.23 以及配置HTTP/HTTPS反向代理

编译安装Apache HTTP Server 2.4.23以及配置HTTP/HTTPS反向代理一,依赖软件: 1.1 GCC和C++编译器 GCC C++ Compiler 1.1.1 如果没有安装以上依赖包请执行以下命令安装: [[email protected] ~]# yum install -y gcc gcc-c++ 1.1.2 如果已经安装其中一个,可以单独执行以下命令安装其中一个: [[email protected] ~]# yum install -y gcc[[email p

charles做代理手机访问电脑运行的本地项目

在h5开发中经常一些兼容性问题需要在真机中调试,首先我们想到的是在同一局域网中手机访问电脑IP地址,但当需要访问本地域名时这样就显得无能为力了,此时我们可以在mac中使用charles做代理. 1.Charles端口设置    proxy->proxy Setting,设端口号为8888 2.IOS&Android代理环境配置 连接wifi,点开设置http代理, 选择手动: 服务器填写charles所在本机的ip地址,端口号8888. 即可 原文地址:https://www.cnblogs

nginx 1.11.0实现http和https正向代理

编译安装时候加上这个--with-http_ssl_module 生成ssl证书443.crt和443.key nginx配置文件里这样写 server {        listen       80;        listen       443 ssl; server_name ~^(.*); ssl_certificate /usr/local/nginx/conf/keys/443.crt;        ssl_certificate_key /usr/local/nginx/co

还在做代理?不如自己搭建微信平台

我国电子商务面临的问题,淘宝退出百度无疑是一个遗憾.当在网上购物时,用户面临的一个很大的问题就是如何在众多的网站找到自己想要的物品,并以最低的价格买到.自从淘宝退出百度,建立自己的搜索引擎后,广大消费者再也不能再百度里面直接搜索有关淘宝的商品了,这无疑是一个遗憾. 现在又出现了微商城,还没有被太多人所熟知,但是微信营销已经以非常快的速度在吞噬这整个市场,微商城.商家入驻,微门店,微餐饮,微酒店,微教育,微物业,微医疗,微信墙,微花店,微美容,微生活等很多功能,微酷WeiKuCMS网站是多功能微信

Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站

文章来源:http://blog.csdn.net/jiftlixu/article/details/11676081 http://www.cnblogs.com/zhongweiv/archive/2013/01/07/https.html 目录 配置环境 了解HTTPS 配置CA证书服务器 新建示例网站并发布在IIS 新建自签名证书并配置HTTPS 故障排除 其它机器无法通过访问 配置环境 Windows版本:Windows Server 2008 R2 Enterprise Servic

CentOS6.5 下在Nginx中添加SSL证书以支持HTTPS协议访问

参考文献: 1. NginxV1.8.0安装与配置 2. CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问 3. nginx配置ssl证书的方法 4.nginx强制使用https访问(http跳转到https) 5.nginx ssl 107 (net::ERR_SSL_PROTOCOL_ERROR) 无法与服务器建立安全连接 解决方法 配置过程如下: 我的nginx是 yum 安装 具体安装过程参考:[转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡 一.安