diff --git a/Trojan-gRPC-Caddy2/Nginx/README.ENG.md b/Trojan-gRPC-Caddy2/Nginx/README.ENG.md new file mode 100644 index 0000000..ce688cc --- /dev/null +++ b/Trojan-gRPC-Caddy2/Nginx/README.ENG.md @@ -0,0 +1,35 @@ +# Trojan-gRPC-Caddy2/Nginx +## Schematic (Caddy): +Xray client <--- gRPC(TLS) ---> Caddy2 <--- gRPC(cleartext) ---> Xray server +## Nginx: +At the same time, you can also choose to use Nginx. A sample configuration snippet is as follows (partially from [@xqzr](https://github.com/xqzr)): +```conf +server { +listen 443 ssl http2 so_keepalive=on; + listen [::]:443 ssl http2 so_keepalive=on; +server_name example.com; + +index index.html; +root /var/www/html; + +ssl_certificate /path/to/example.cer; +ssl_certificate_key /path/to/example.key; +ssl_protocols 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; + +client_header_timeout 52w; + keepalive_timeout 52w; +# Fill in /your ServiceName after location +location /your ServiceName { +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; +} +} +```