阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7安装SNI Proxy对HTTPS站点进行反向代理

242次阅读
没有评论

共计 1430 个字符,预计需要花费 4 分钟才能阅读完成。




提到反向代理,可能最常见的就是 Nginx 了,如果使用 Nginx 反向代理 HTTPS 站点,且需要通过 HTTPS 访问的时候,则需要要在 Nginx 上配置 SSL 证书。而 SNI Proxy 则可以解决这个问题,我们无需在反代服务器上部署 SSL 证书,即可通过 HTTPS 访问。

举个例子

某一天你想访问https://www.google.com,你发现因为某 Q 的原因,发现根本无法打开。于是寻思有没有什么办法在不改变访问域名的情况下成功打开https://www.google.com,这一点 SNI Proxy 可以实现。

为了便于理解,我画了一个简单的示意图

安装 SNI Proxy

先安装需要的依赖:

yum -y install autoconf automake curl gettext-devel libev-devel pcre-devel perl pkgconfig rpm-build udns-devel

访问:https://github.com/dlundquist/sniproxy/releases下载源码并解压,进入 SNI Proxy 执行编译命令:

./autogen.sh && ./configure && make dist

如果安装过程无报错,可执行命令 sniproxy -V 查看版本。

创建配置文件并启动

SNI Proxy 默认配置文件位于/etc/sniproxy.conf,内容可参考:

user daemon

pidfile /tmp/sniproxy.pid

error_log {
    syslog daemon
    priority notice
}

listener 127.0.0.1:443 {
    protocol tls
    table TableName

    # Specify a server to use if the initial client request doesn't contain
    # a hostname
    fallback 192.0.2.5:443
}

table TableName {
    # Match exact request hostnames
    example.com 192.0.2.10:4343
    # If port is not specified the listener port will be used
    example.net [2001:DB8::1:10]
    # Or use regular expression to match
    .*\\.com    [2001:DB8::1:11]:443
    # Combining regular expression and wildcard will resolve the hostname
    # client requested and proxy to it
    .*\\.edu    *:443
}

最后输入命令 sniproxy 启动即可,可输入 ps -ef|grep 'sniproxy' 来查看进程是否启动。注意:防火墙也需要放行监听端口

访问测试

可通过修改 hosts 文件将域名指向到 SNI Proxy 服务器来测试是否可以访问。

最后

SNI Proxy 相比 nginx 反向代理的好处是配置更简单,不需要在 SNI Proxy 服务上部署 SSL 证书,流量仅根据 HTTP header 中的 HOST 进行透传到目标服务器。由于场景不一样,并不是说比 nginx 反向代理更好,还要看具体用途。

另外 xiaoz 并未在高并发的情况下做过测试,不清楚 SNI Proxy 能否胜任高并发任务。另外 SNI Proxy + 自建 DNS 有奇效,你懂的。

SNI Proxy 项目地址:https://github.com/dlundquist/sniproxy

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1430字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中