Websocket Proxy Kurulumu: Revizyonlar arasındaki fark

VMTools Türkçe Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Değişiklik özeti yok
Değişiklik özeti yok
 
(Aynı kullanıcının aradaki diğer 19 değişikliği gösterilmiyor)
1. satır: 1. satır:
Websocket kurulumu için tavsiye edilen İşletim sistemi ve donanım gereksinimi;
3 Adımda kolayca Nginx Websocket Proxy Sunucu kurulumu gerçekleştirebilirsiniz.
 
 
'''Hazırlık:''' Nginx websocket proxy kurulumu için tavsiye ettiğimiz İşletim sistemi ve donanım gereksinimleri;
{| class="wikitable"
{| class="wikitable"
|Ubuntu 22.04 LTS (Minimal server)
|Ubuntu 22.04 LTS (Minimal server)
12. satır: 15. satır:




1. Proxy için kullanmak üzere bir alan adı dns yönetiminden proxy.siteadresiniz.com şeklinde "A" kaydı oluşturun ve aşağıdaki komutta ilgili kısmı düzenleyerek komutu çalıştırın.
1. Proxy sunucusunda kullanmak üzere alan adınız dns yönetimini bölümünden "proxy.siteadresiniz.com" şeklinde "A" kaydı oluşturun ve aşağıdaki komutta işaretlenmiş ilgili kısmı düzenleyerek çalıştırın.
{| class="wikitable"
{| class="wikitable"
|apt-get update -y && apt-get upgrade -y && shutdown -r now
|apt-get update -y && apt-get upgrade -y && shutdown -r now
apt-get install nginx -y && apt install certbot python3-certbot-nginx -y && sudo certbot --nginx -d '''proxy.siteadresiniz.com''' --non-interactive --agree-tos --email '''admin@siteadresiniz.com''' --redirect
apt-get install nginx -y && apt install certbot python3-certbot-nginx -y && sudo certbot --nginx -d '''proxy.siteadresiniz.com''' --non-interactive --agree-tos --register-unsafely-without-email --redirect
|}
 
 
 
2. Nano metin editörünü kullanarak nginx yapılandırmasını aşağıdaki gibi düzenleyip '''CTRL+O''' ve '''ENTER''' tuşları ile kaydedip '''CTRL+X''' tuş kombinasyonu ile editörden çıkabilirsiniz.
{| class="wikitable"
|nano /etc/nginx/sites-available/default
|}
|}






Eklemeniz gereken nginx direktifleri;
2. Aşağıdaki komutu işaretlenmiş ilgili kısmı düzenleyerek çalıştırın.
{| class="wikitable"
{| class="wikitable"
|map $arg_hostname $ng_hostname {
|DOMAIN="'''proxy.siteadresiniz.com'''<nowiki>" && sudo bash -c 'printf "map \$arg_hostname \$ng_hostname {\n   default \$arg_hostname;\n}\n\nmap \$arg_port \$ng_port {\n   default \$arg_port;\n}\n\nmap \$arg_ticket \$ng_ticket {\n   default \$arg_ticket;\n}\n\nserver {\n   listen 443 ssl;\n   server_name '"$DOMAIN"';\n\n   ssl_certificate /etc/letsencrypt/live/'"$DOMAIN"'/fullchain.pem;\n   ssl_certificate_key /etc/letsencrypt/live/'"$DOMAIN"'/privkey.pem;\n\n   ssl_protocols TLSv1.2 TLSv1.3;\n   ssl_prefer_server_ciphers on;\n\n   location /ticket {\n       if (\$ng_hostname = \"\") { return 400; }\n       if (\$ng_port = \"\") { return 400; }\n       if (\$ng_ticket = \"\") { return 400; }\n\n       proxy_pass https://\$ng_hostname:\$ng_port\$ng_ticket;\n       proxy_http_version 1.1;\n       proxy_set_header Upgrade \$http_upgrade;\n       proxy_set_header Connection \"upgrade\";\n       proxy_set_header Host \$host;\n       proxy_set_header X-Forwarded-For \$remote_addr;\n       proxy_set_header X-Forwarded-Proto \$scheme;\n       proxy_read_timeout 86400;\n       proxy_ssl_verify off;\n       proxy_ssl_verify_depth 0;\n       proxy_ssl_server_name on;\n   }\n}\n" | tee /etc/nginx/sites-available/default > /dev/null' && systemctl restart nginx</nowiki>
   default $arg_hostname;
 
}
 
map $arg_port $ng_port {
 
   default $arg_port;
 
}
 
map $arg_ticket $ng_ticket {
 
   default $arg_ticket;
 
}
 
server {
 
   listen 443 ssl;
 
   server_name proxy.vmtools.io;
 
   ssl_certificate /etc/letsencrypt/live/'''proxy.siteadresiniz.com'''/fullchain.pem;
 
   ssl_certificate_key /etc/letsencrypt/live/'''proxy.siteadresiniz.com'''/privkey.pem;
 
   ssl_protocols TLSv1.2 TLSv1.3;
 
   ssl_prefer_server_ciphers on;
 
   location /ticket {
 
       if ($ng_hostname = "") { return 400; }
 
       if ($ng_port = "") { return 400; }
 
       if ($ng_ticket = "") { return 400; }
 
       proxy_pass <nowiki>https://$ng_hostname:$ng_port$ng_ticket</nowiki>;
 
       proxy_http_version 1.1;
 
       proxy_set_header Upgrade $http_upgrade;
 
       proxy_set_header Connection "upgrade";
 
       proxy_set_header Host $host;
 
       proxy_set_header X-Forwarded-For $remote_addr;
 
       proxy_set_header X-Forwarded-Proto $scheme;
 
       proxy_read_timeout 86400;
 
       proxy_ssl_verify off;
 
       proxy_ssl_verify_depth 0;
 
       proxy_ssl_server_name on;
 
   }
 
}
|}
|}






3. VMTools yönetim sayfası "Genel Ayarlar" bölümünden Web Konsol Ayarları kısmına proxy için oluşturduğunuz alan adını başında '''"http://"''' ve '''"www"''' olmadan yazmanız gerekmektedir.
3. '''VMTools Module > Genel Ayarlar''' menüsü Web Konsol Ayarları "Websocket Proxy Hostname/IP Adresi" bölümüne proxy için oluşturduğunuz alan adını başında '''"http://"''' ve '''"www."''' ön eki <u>olmadan</u> tanımlayıp kaydediniz.

01.03, 4 Mayıs 2025 itibarı ile sayfanın şu anki hâli

3 Adımda kolayca Nginx Websocket Proxy Sunucu kurulumu gerçekleştirebilirsiniz.


Hazırlık: Nginx websocket proxy kurulumu için tavsiye ettiğimiz İşletim sistemi ve donanım gereksinimleri;

Ubuntu 22.04 LTS (Minimal server)

4 Core İşlemci

4 GB Ram

40 GB Disk


1. Proxy sunucusunda kullanmak üzere alan adınız dns yönetimini bölümünden "proxy.siteadresiniz.com" şeklinde "A" kaydı oluşturun ve aşağıdaki komutta işaretlenmiş ilgili kısmı düzenleyerek çalıştırın.

apt-get update -y && apt-get upgrade -y && shutdown -r now

apt-get install nginx -y && apt install certbot python3-certbot-nginx -y && sudo certbot --nginx -d proxy.siteadresiniz.com --non-interactive --agree-tos --register-unsafely-without-email --redirect


2. Aşağıdaki komutu işaretlenmiş ilgili kısmı düzenleyerek çalıştırın.

DOMAIN="proxy.siteadresiniz.com" && sudo bash -c 'printf "map \$arg_hostname \$ng_hostname {\n   default \$arg_hostname;\n}\n\nmap \$arg_port \$ng_port {\n   default \$arg_port;\n}\n\nmap \$arg_ticket \$ng_ticket {\n   default \$arg_ticket;\n}\n\nserver {\n   listen 443 ssl;\n   server_name '"$DOMAIN"';\n\n   ssl_certificate /etc/letsencrypt/live/'"$DOMAIN"'/fullchain.pem;\n   ssl_certificate_key /etc/letsencrypt/live/'"$DOMAIN"'/privkey.pem;\n\n   ssl_protocols TLSv1.2 TLSv1.3;\n   ssl_prefer_server_ciphers on;\n\n   location /ticket {\n       if (\$ng_hostname = \"\") { return 400; }\n       if (\$ng_port = \"\") { return 400; }\n       if (\$ng_ticket = \"\") { return 400; }\n\n       proxy_pass https://\$ng_hostname:\$ng_port\$ng_ticket;\n       proxy_http_version 1.1;\n       proxy_set_header Upgrade \$http_upgrade;\n       proxy_set_header Connection \"upgrade\";\n       proxy_set_header Host \$host;\n       proxy_set_header X-Forwarded-For \$remote_addr;\n       proxy_set_header X-Forwarded-Proto \$scheme;\n       proxy_read_timeout 86400;\n       proxy_ssl_verify off;\n       proxy_ssl_verify_depth 0;\n       proxy_ssl_server_name on;\n   }\n}\n" | tee /etc/nginx/sites-available/default > /dev/null' && systemctl restart nginx


3. VMTools Module > Genel Ayarlar menüsü Web Konsol Ayarları "Websocket Proxy Hostname/IP Adresi" bölümüne proxy için oluşturduğunuz alan adını başında "http://" ve "www." ön eki olmadan tanımlayıp kaydediniz.