diff --git a/README.md b/README.md index 2cd27f7..e85fa07 100644 --- a/README.md +++ b/README.md @@ -70,8 +70,8 @@ server-xray --ttt [p=443,]d=domain.com,u=psw[:level[:email]][,f=[fb-host]:fb-port:[fb-path]] --tttw [p=443,]d=domain.com,u=psw[:level[:email]][,f=[fb-host]:fb-port:[fb-path]],w=/webpath --ttpw [p=443,]u=psw[:level[:email]][,f=[fb-host]:fb-port:[fb-path]],w=/webpath - --ng-opt [p=443,]d=domain.com - --ng-proxy [d=domain.com,][h=127.0.0.1,]p=8443,l=location,n=ws|grpc + --ng-opt [p=443,]d=domain0.com[,d=domain1.com] + --ng-proxy [d=domain0.com,][d=domain1.com][h=127.0.0.1,]p=port-backend,l=location,n=ws|grpc -k|--hook [Optional] DDNS update or notifing URL to be hit -r|--request-domain [Optional] Domain name to request for letsencrypt cert -c|--cert-path [Optional] Reading TLS certs from folder // @@ -215,16 +215,16 @@ Xray-URL: vless://myid@mydomain.duckdns.org:443?security=tls&type=grpc&serviceNa ... ``` -### 4. Serve multiple services on a single port with Nginx TLS front +### 4. Serve multiple services on single port, multiple domains with Nginx TLS front The following command will: -1. Assume to read TLS cert from /home/ubuntu/cert/mydomain.duckdns.org/fullchain.cer -2. Assume to read private key from /home/ubuntu/cert/mydomain.duckdns.org/mydomain.duckdns.org.key +1. Assume to read TLS cert from /home/ubuntu/cert/domain*.duckdns.org/fullchain.cer +2. Assume to read private key from /home/ubuntu/cert/domain*.duckdns.org/domain*.duckdns.org.key 3. Assume domain0.duckdns.org and domain1.duckdns.org has been resolved to the current server -4. Run Vless+TCP+PLAN+gRPC service on port 55443, location /svc0 -5. Run Vless+TCP+PLAN+WebSocket service on port 53443, location /ws1 -6. Run Trojan+TCP+PLAN+WebSocket service on port 51443, location /ws2 +4. Run Vless+TCP+PLAN+gRPC service on port 55443, location /svc0, serve on all domains +5. Run Vless+TCP+PLAN+WebSocket service on port 53443, location /ws1, serve on all domains +6. Run Trojan+TCP+PLAN+WebSocket service on port 51443, location /ws2, serve only on domain1.duckdns.org 7. Run nginx on port 443 as a TLS front with the given certs for 2 domains, proxy 3 services with 3 locations 8. Only port 443 will be available for access from internet @@ -233,11 +233,10 @@ $ docker run --name server-xray -p 443:443 -v /home/ubuntu/cert:/opt/cert -d sam --ltpg p=55443,u=myid0,s=svc0 \ --ltpw p=53443,u=myid1,w=/ws1 \ --ttpw p=51443,u=myid2,w=/ws2 \ ---ng-opt p=443,d=domain0.duckdns.org \ ---ng-opt p=443,d=domain1.duckdns.org \ +--ng-opt p=443,d=domain0.duckdns.org,d=domain1.duckdns.org \ --ng-proxy p=55443,l=/svc0,n=grpc \ --ng-proxy p=53443,l=/ws1,n=ws \ ---ng-proxy p=51443,l=/ws2,n=ws +--ng-proxy d=domain1.duckdns.org,p=51443,l=/ws2,n=ws ... ``` diff --git a/run.sh b/run.sh index 06d5972..337eb40 100755 --- a/run.sh +++ b/run.sh @@ -20,8 +20,8 @@ usage() { echo " --ttpw [p=443,]u=psw[:level[:email]][,f=[fb-host]:fb-port:[fb-path]],w=/webpath" # echo " --ssa [port=443,]user=password1:method1[,user=password2:method2]" # echo " --sst [port=443,]user=passwd,method=xxxx" - echo " --ng-opt [p=443,]d=domain.com" - echo " --ng-proxy [d=domain.com,][h=127.0.0.1,]p=8443,l=location,n=ws|grpc" + echo " --ng-opt [p=443,]d=domain0.com[,d=domain1.com]" + echo " --ng-proxy [d=domain0.com,][d=domain1.com][h=127.0.0.1,]p=port-backend,l=location,n=ws|grpc" echo " -k|--hook [Optional] DDNS update or notifing URL to be hit" echo " -r|--request-domain [Optional] Domain name to request for letsencrypt cert" echo " -c|--cert-path [Optional] Reading TLS certs from folder //"