转载于Rman大佬的文章

Nginx 安装

CentOS:

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

Ubuntu:

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配置文件参考:

events {
    worker_connections 768;
    # multi_accept on;
}

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监听端口
    }
}

http {

    ##
    # Basic Settings
    ##

注意事项:

1. 请配置SSL证书

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

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

XrayR Trojan配置

ListenIP: 127.0.0.1
EnableProxyProtocol: true
EnableFallback: true
CertMode: none

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

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

重启并检查 Nginx 和 XrayR

systemctl restart nginx
XrayR restart

systemctl status nginx
XrayR restart

最后修改:2021 年 07 月 10 日
如果觉得文章有用,想请博主喝杯咖啡的话。