本文编写于 133 天前,最后修改于 72 天前,其中某些信息可能已经过时。
基于XRAY搭建GRPC简单教程
Xray官方一键安装脚本
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
装好了,去打开这个路径/usr/local/etc/xray/*.json
打开config.json,以下为trojan grpc示例:
要使用vless可以修改"protocol":"vless"参数
XRAY参数
{
"log":{
"loglevel":"warning"
},
"inbounds":[
{
"listen":"/dev/shm/Xray-Trojan-gRPC.socket,0666",
"protocol":"trojan",
"settings":{
"clients":[
{
"password":"your password"
}
]
},
"streamSettings":{
"network":"grpc",
"grpcSettings":{
"serviceName":"wdnmd"
}
}
}
],
"outbounds":[
{
"tag":"direct",
"protocol":"freedom",
"settings":{
}
},
{
"tag":"blocked",
"protocol":"blackhole",
"settings":{
}
}
],
"routing":{
"domainStrategy":"AsIs",
"rules":[
{
"type":"field",
"ip":[
"geoip:private"
],
"outboundTag":"blocked"
}
]
}
}
安装NGINX
apt install nginx -y
装完后去/etc/nginx/sites-available,覆盖如下配置
NGINX配置文件(default)
server {
listen 80 ;
listen 443 ssl http2 so_keepalive=on;
root /var/www/html;
charset utf-8;
if ($server_port !~ 443) {
rewrite ^(/.*)$ https://$host$1 permanent;
}
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_redirect off;
proxy_pass http://127.0.0.1:52441;\\随便代理个你本地的伪装程序,什么网盘端口都行
# the max size of file to upload
client_max_body_size 20000m;
}
location /wdnmd {
if ($content_type !~ "application/grpc") {
return 404;
}
client_max_body_size 0;
client_body_buffer_size 512k;
grpc_set_header X-Real-IP $remote_addr;
client_body_timeout 52w;
grpc_read_timeout 52w;
grpc_pass unix:/dev/shm/Xray-Trojan-gRPC.socket;
}
ssl_certificate pem证书路径;
ssl_certificate_key key文件证书路径;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
client_header_timeout 52w;
keepalive_timeout 52w;
}
结尾工作
重启xray服务
systemctl restart xray
重启nginx服务
systemctl restart nginx
查看xray运行状态
systemctl status xray
看到有个绿的running就行了