Xray-examples/Trojan-gRPC-Caddy2/Nginx
2024-08-02 22:33:20 +08:00
..
Caddyfile Fixed caddy reverse proxy for gRPC (#82) 2022-10-20 08:54:41 -04:00
client.json add permit_without_stream 2023-01-16 21:09:01 +08:00
README.ENG.md Update README.ENG.md 2024-01-29 20:46:45 +08:00
README.md Starting with "application/grpc" 2024-08-02 22:33:20 +08:00
server.json add Trojan-gRPC-Caddy2/Nginx 2022-09-09 16:17:38 +08:00

Trojan-gRPC-Caddy2Nginx

ENGLISH

原理图 (Caddy)

Xray client <--- gRPC(TLS) ---> Caddy2 <--- gRPC(cleartext) ---> Xray server

Nginx

同时,您也可以选择使用 Nginx。示例配置片段如下部分来自 @xqzr

server {
	listen 443 ssl http2;
        listen [::]:443 ssl http2;
	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 1w;
        keepalive_timeout 30m;
	# 在 location 后填写 /你的 ServiceName
	location /你的 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 1w;
		grpc_read_timeout 1w;
		grpc_send_timeout 1w;
		grpc_pass unix:/dev/shm/Xray-Trojan-gRPC.socket;
	}
}