haproxy的代理中继用法
背景:
现有:
一台baidu/ali/tecent云服务器A(地址为a.a.a.a);
一台VPS B(地址为b.b.b.b), B中搭建有ss,监听端口为8000.
需求:
一:使用A做跳板机访问B中搭建的ss。且使用A的12344端口。(即把A的12344转发到B的8000)
二:使用A做跳板机访问国内网站。且使用A的12345端口。
其他要求:使用haproxy实现。
解决方案:
- 对需求一,只需要安装haproxy,对需求二,额外安装polipo(或其他http代理服务器)完成。
- 配置/etc/haproxy/haproxy.cfg如下:
global
user haproxy
group haproxy
daemon
defaults
log global
mode tcp
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
#需求一:
frontend ss-in
bind *:12344
default_backend ss-out
backend ss-out
server server1 a.a.a.a:17001 maxconn 20480
# 需求二:
frontend sunflower-in
bind *:12345
default_backend sunflower-out
backend sunflower-out
server server1 127.0.0.1:8123 maxconn 20480
- 配置/etc/polipo/config如下:
logSyslog = true
logFile = /dev/null
allowedPorts = 1-65535
tunnelAllowedPorts = 1-65535
proxyAddress = 0.0.0.0
proxyPort = 8123
- 启动polipo和haproxy
sudo systemctl enable --now polipo
sudo systemctl enable --now haproxy
- 检查效果:
一:配置本地ss的server为a.a.a.a,port为12344,其他项保持为原来使用服务器B时的配置:
二:配置浏览器代理为http://a.a.a.a:12345,可成功访问国内网站:
不足:
haproxy无法进行udp代理。需同时转发tcp和udp可考虑使用brook。
令:
其实这两个需求只用polipo即可实现。polipo可以把socks代理转为http代理,也可直接转发http请求(ipv4和ipv6也可互转),对于需求2,直接访问如上配置好的polipo的8123端口即可。对于需求1,可以给ss设置一个前置代理(win客户端有“正向代理设置"),同样访问8123即可。
使用polipo做http代理最好设置验证,否则被扫到端口很容易被盗用。设置验证在配置文件中添加:authCredentials=username:yourpwd
(用户名密码无引号)。
需求1中的haproxy则是直接转发tcp请求,需指定出入端口,如出入端口不变,可写为ip段的格式,但开放大量端口的形式通常不是我们想要的。
haproxy的代理中继用法的更多相关文章
- Httpd Nginx Haproxy反向代理
Apache反向代理 部署httpd反向代理 准备工作: 三台虚拟机Ip地址分配: linux-node1:192.168.1.5 (源码编译httpd,并且配置proxy用于代理后端的httpd服务 ...
- haproxy反向代理配置示例
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
- Nginx、haproxy反向代理设置
Nginx反向代理配置: #user nobody; worker_processes ; events { worker_connections ; } http { include mime.ty ...
- Haproxy 反向代理
一.haproxy介绍 HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. 特点如下: .支持两种代理模式:TCP(四层)和H ...
- Mysql的Haproxy反向代理和负载均衡
HaProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.应用到Haproxy主要是因为他免费,并且基于TCP和HTTP的应用代理. ...
- OpenResty 反向代理的用法与技巧
Nginx最开始是作为反向代理被熟知的,基于它的OpenResty的自然也是支持反向代理的,下面我们就来看看它的一些基本用法以及在使用过程中的一些技巧. 一.基本用法 在业务环境中,可能会将OpenR ...
- haproxy反向代理
haproxy是个高性能的tcp和http的反向代理.它就是个代理.不像nginx还做web服务器 官网地址为www.haproxy.org nginx的优点和缺点 优点: 1.web服务器,应用比较 ...
- 项目详解4—haproxy 反向代理负载均衡
一.企业服务架构图及负载均衡的要求 1.场景说明 在企业生产环境中,每天会有很多的需求变更,比如增加服务器.新业务上线.url路由修改.域名配置等等,对于前端负载均衡设备来说,容易维护,复杂度低,是首 ...
- haproxy反向代理环境部署(http和https代理)
操作背景:前方有一台haproxy代理机器(115.100.120.57/192.168.1.7),后方两台realserver机器(192.168.1.150.192.168.1.151,没有公网i ...
随机推荐
- shell位置参数处理举例
- Linux运维常用脚本整理
.查找当前目录下占用为0字节的文件并删除 find ./ -type f -size -exec rm -rf {}\; #此命令不要用于对根目录0字节文件的操作 .将系统进程按内存占用大小排列 ...
- error: device unauthorized.
1 执行 adb install com.taobao.taobao_250.apk 报错 2 先看手机是不是未授权,执行命令之后,手机回弹出授权信息,点击确认就行了
- mongodb与java的整合
mongodb的相关命令我们这里不在赘述,因为其文档下写的非常清楚,也很容易懂.这里我们说一下其余java的整合,mongodb配置请查看官方文档 1.首先我们应该导入期相关依赖, org.mongo ...
- win10 + VS2015 编译 ARPACK
step 1: 下载ARPACK , mingw-w64-install 和 mingw-get-inst-20120426.exe: step 2: 安装 MinGW-64默认安装路径即可. ste ...
- json 文件打读取
1.获取文件路径 /* * BookController.class.getClassLoader().getResource("static/json/book_nav.json" ...
- php结合Redis实现100万用户投票项目,并实时查看到投票情况的案例
场景:某网站需要对其项目做一个投票系统,投票项目上线后一小时之内预计有100万用户进行投票,希望用户投票完就能看到实时的投票情况 这个场景可以使用redis+mysql冷热数据交换来解决. 何为冷热数 ...
- SparkStreaming反压机制
一.背景 在默认情况下,Spark Streaming 通过 receivers (或者是 Direct 方式) 以生产者生产数据的速率接收数据.当 batch processing time > ...
- webpack 导出、导入模块(及路径)
参考:https://blog.csdn.net/xyphf/article/details/83411552 (下面的代码亲测有效) 注:导入的模块的方法,只有两种方法 import 和 requ ...
- 一些idea
二分答案似乎和最小生成树有着不可描述的奇怪关系.(滑稽 联赛级别的在矩形上乱搞的题无非几个思路(按出现概率排序):建图,二维前缀和,dp 涉及到求合法区间数的问题往往要用到桶.等差数列等思想,或者尝试 ...