前言
我们熟知的中转工具很多,常见的有如下,
目前gost和realm比较火,因为可以进行隧道中转,其实我们熟知的nginx也可以用于端口转发,今天我们就来看看。
安装nginx
- CentOS:
- yum update
- yum install –y nginx
- yum install nginx–mod–stream
- Ubuntu/Debian:
- apt update
- apt install nginx
查看stream模块,测试你的nginx是不是支持stream模块
nginx -V
出现这样的–with-stream字样,说明就是支持的!
修改nginx配置文件
找到/usr/local/nginx/conf/nginx.conf, 在events上面加入stream配置
- stream {
- upstream forward {
- # simple round-robin 转发IP和端口
- server 1.1.1.1:443;
- #check interval=3000 rise=2 fall=5 timeout=1000;
- #check interval=3000 rise=2 fall=5timeout=1000
- #check interval=3000 rise=2 fall=5timeout=1000
- #check_http_send “GET /HTTP/1.0\r\n\r\n”;
- #check_http_expect_alive http_2xxhttp_3xx;
- }
- server {
- listen 3389; ##监听端口
- proxy_pass forward; #转发请求
- }
- }
端口复用
- stream {
- upstream forward {
- # simple round-robin 转发IP和端口
- server 1.1.1.1:443;
- server 1.1.1.1:443;
- #check interval=3000 rise=2 fall=5 timeout=1000;
- #check interval=3000 rise=2 fall=5timeout=1000
- #check interval=3000 rise=2 fall=5timeout=1000
- #check_http_send “GET /HTTP/1.0\r\n\r\n”;
- #check_http_expect_alive http_2xxhttp_3xx;
- }
- server {
- listen 3389; ##监听端口
- proxy_pass forward; #转发请求
- }
- }
客户端配置
由于这样的配置,nginx知识起到转发流量的作用,所以在进行tls握手时,在填写客户端时,host或者sni处要填写你原来的域名,这样电脑才能知道是要跟哪台机器进行通讯。