欢迎来到好人卡资源网,专注网络技术资源收集,我们不仅是网络资源的搬运工,也生产原创资源。寻找资源请留言或关注公众号:烈日下的男人

利用Nginx中转国内VPS

linux sky995 2年前 (2021-10-30) 1692次浏览 0个评论

本文及资源最后更新时间 2021-10-30 by sky995

假设你有A,B两台服务器,A服务器在国内,B服务器在国外。众所周知的原因,A服务器比较敏感,不方便装任何v2ray或者ss类代理应用。而在国外的B服务器又延时、丢包很高。这个时候俺们就可以利用Nginx来中转国内服务器,以此来达到安全和速度双重目的。

流量大概走向:

客户端 --> GFW --> A服务器 --> B服务器 --> YouTube --> 返回客户端

配置A机

方法就是利用Nginx的stream模块,来实现四层协议的转发、代理。下面讲讲详细配置和使用方法。以下操作均在国内机,也就是A机上面:

首先是检查Nginx有没有包含stream模块,nginx -V 看一下有没有 --with-stream 字样,如果没有的话,可参照 俺的上一篇文章 重新编译一下Nginx,如果已经存在stream模块,那么往下看。

stream是通过tcp层转发,而不是http转发,所以stream和http属同一层级,俺们写配置的时候可以把stream写在http上层,下面是利用stream来代理、中转国内服务器的配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 外层main模块
user nginx;
pid /run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 51200;
# events模块
events {
    worker_connections 1024;
    multi_accept on;
    use epoll;
}
# stream模块,也就是今天要讲的重点
stream {
    # 代理转发,要转发的目的地,也就是B机的ws地址,比如俺们常用的heroku代理地址
    # 当然你也可以选择一个海外vps自建一个ws代理 
    upstream tcp_proxy {
        hash $remote_addr consistent;
        server xxx.herokuapp.com:443;   #B服务器域名
        #下面的配置是负载均衡配置,可配置多个服务器,默认是轮询模式
        #server yyy.herokuapp.con:443;   #c服务器域名
    }

    server {
        #本机开放的端口,也就是A机端口,记下这个端口,待会用的到。
        listen 1024;
        proxy_connect_timeout 1s;
        proxy_timeout 60s;
        proxy_pass tcp_proxy;
    }
}
# http模块和stream同层级,两者互不干涉,你可以在http模块开放80和443端口,搭建网站或挂个探针什么的做伪装。
http {
    server_tokens off;
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 120s;
    keepalive_requests 10000;
    types_hash_max_size 2048;
    include /etc/nginx/mime.types;

    access_log off;
    error_log /dev/null;

    server {
        listen 80;
        listen [::]:80;
        server_name xxxx.com;
        root /var/www;
    }
}

Nginx的配置文件写好后,俺们就可以检查一下配置 nginx -t ok的话,启动就完事了。

systemctl start nginx

配置B机和客户端

B机也就不多讲了,也就是常规搭建一个ws代理就好了,比如搭建一个v2ray-ws代理,具体看俺 上一篇博文 ;或者搭建一个Heroku代理,看 俺的GitHub

客户端配置,以v2ray为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
地址(address) : 127.0.0.1	#这里填写A机的IP

端口(port) : 1024   #这里填写上面的stream开放的A机端口

用户ID(uuid) : 这里填写你的UUID,也就是B机的

额外ID(alterid) : 64

加密方式(security) : auto

传输协议(network) : ws

伪装域名(host) : xxx.herokuapp.com  #也就是B机的域名

路径(type) : /ray   #B机的路径

底层传输 :tls

到此,利用Nginx中转国内vps教程也就结束了,可以看到A机只装了一个Nginx,是不是很简单?


好人卡资源网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:利用Nginx中转国内VPS
喜欢 (1)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址