Nginx+Trojan暂时滴神!

使用Nginx处理Trojan的TLS,Trojan进行回落。我愿称ta暂时滴神!

Nginx安装

CentOS:

 yum update
 yum install -y nginx
 yum install nginx-mod-stream

Ubuntu/Debian:

 apt update
 apt install nginx

Nginx配置

修改/etc/nginx/nginx.conf配置文件:

stream {
    server {
        listen              443 ssl;                    # 设置监听端口为443

        ssl_protocols       TLSv1.2 TLSv1.3;      # 设置使用的SSL协议版本

        ssl_certificate /etc/nginx/ssl/xx.com.pem; # 证书地址
        ssl_certificate_key /etc/nginx/ssl/xx.com.key; # 秘钥地址
        ssl_session_cache   shared:SSL:10m;             # SSL TCP会话缓存设置共享内存区域名为
                                                        # SSL,区域大小为10MB
        ssl_session_timeout 10m;                        # SSL TCP会话缓存超时时间为10分钟
        proxy_protocol    on; # 开启proxy_protocol获取真实ip
        proxy_pass        127.0.0.1:1234; # 后端Trojan监听端口
    }
}

请将上方代码添加到httpevents中间一行

/etc/nginx/nginx.conf配置文件参考:

注意事项:

1. 请配置SSL证书

2. proxy_pass 127.0.0.1:1234 后端Trojan监听端口与您网站前端节点监听端口一致

3. listen端口可以1-65535随意修改,此处为客户端连接端口

centos系统请关闭selinux,不然可能导致转发失败。

XrayR Trojan配置

关键配置:

注意1:请务必确保CertMode为none,交由Nginx处理tls

注意2:在回落时请确保回落站点是http1.1,nginx如果有一个站点是h2会导致全部站点都变成h2(巨坑)

完整样例

重启并检查 Nginx 和 XrayR

最后更新于