Цей сайт використовує файли cookie

Цей веб-сайт використовує файли cookie, щоб забезпечити вам найкращий досвід використання нашого веб-сайту.

Дізнайтесь більше Погоджуюсь

03. Інсталювання VNCproxy і noVNC Друк

  • ProxmoxKVM WHMCS module
  • 0

 Замовити зараз | Завантажити | Часті запитання

Передмова

Модуль підтримує можливість підключення та використання консолі для управління конкретною віртуальною машиною KVM.

Для підключення до консолі віртуальної машини ми використовуватимемо сторонні програми.

noVNC - відкритий клієнт VNC - noVNC є як бібліотекою JavaScript клієнта VNC, так і застосунком, побудованим на основі цієї бібліотеки. noVNC працює добре в будь-якому сучасному браузері, включаючи мобільні браузери (iOS та Android).

Оскільки ми використовуємо лише зовнішній проект, ми не несемо відповідальності за витік даних, взломи тощо.

Ми використовуємо golang для створення наших продуктів.

Ми використовували наступні бібліотеки

Якщо у вас виникнуть складнощі, ви можете використовувати наш загальнодоступний сервер vncproxy. Ми настійно рекомендуємо налаштувати та використовувати свій власний сервер vncproxy. Ви будете мати контроль над продуктивністю сервера та безпекою

Сервер WEB-проксі noVNC: vncproxy.puqcloud.com
Ключ WEB-проксі noVNC:puqcloud
Порти WEB: 80/443
Порти VNC: 5900-5999

За допомогою vncproxy ви створюєте проксі-з'єднання між клієнтом та вашим сервером PROXMOX.
vncproxy повинен мати стійку нерівну мережу з сервером proxmox, достатньо портів 5900-5999
Також, якщо ви використовуєте доменне ім'я при підключенні сервера PROXMOX до системи WHMCS, це доменне ім'я повинно бути правильно вирішене з сервера vncproxy

Давайте почнемо з установки.

Процес установки

Визначення домену

Спочатку визначте доменне ім'я для сервера vncproxy, у нашому випадку це буде vncproxy.puqcloud.com

Далі у прикладі ми будемо використовувати доменне ім'я vncproxy.puqcloud.com, але у всіх ваших конфігураціях вам слід використовувати своє власне доменне ім'я.

 

Встановлення та налаштування NGINX

В другий ряд ви повинні встановити сервер із вашою улюбленою операційною системою. У нашому випадку це операційна система Debian 11. Вам також потрібно налаштувати запис DNS на вашому домені так, щоб він повертав IP-адресу сервера.

Спочатку, якщо ви давно не оновлювали базу даних пакетів, оновіть її:

sudo apt update

Встановіть WEB-сервер nginx та Certbot

sudo apt install certbot nginx python3-certbot-nginx zip -y

 

Завантаження клієнта noVNC

cd /root/
wget https://github.com/novnc/noVNC/archive/refs/tags/v1.3.0.zip
unzip v1.3.0.zip 
cp -R noVNC-1.3.0/* /var/www/html/
rm v1.3.0.zip
rm -r noVNC-1.3.0/

Тепер, перейшовши за адресою http://vncproxy.puqcloud.com/vnc.html, відкриється клієнт noVNC.

 

Генерування SSL-сертифіката та встановлення його на WEB-сервер за допомогою Certbot

certbot --nginx -d vncproxy.puqcloud.com

Щоб сертифікат оновлювався автоматично, вам потрібно додати до crontab

crontab -e
0 12 * * * /usr/bin/certbot renew --quiet

Конфігурація віртуального хоста NGINX

Здійсніть необхідні налаштування у файлі конфігурації вашого домену на сервері nginx

nano /etc/nginx/sites-available/default
server {
	listen 80 default_server;
	listen [::]:80 default_server;

	root /var/www/html;

	index index.html index.htm index.nginx-debian.html;

	server_name _;

	location / {
		try_files $uri $uri/ =404;
	}
}

server {

	root /var/www/html;

	index index.html index.htm index.nginx-debian.html;
        server_name vncproxy.puqcloud.com; # управляється Certbot

	location / {
		try_files $uri $uri/ =404;
	}

    listen [::]:443 ssl ipv6only=on; # управляється Certbot
    listen 443 ssl; # управляється Certbot
    ssl_certificate /etc/letsencrypt/live/vncproxy.puqcloud.com/fullchain.pem; # управляється Certbot
    ssl_certificate_key /etc/letsencrypt/live/vncproxy.puqcloud.com/privkey.pem; # управляється Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # управляється Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # управляється Certbot


        location /vncproxy {
          proxy_pass http://127.0.0.1:8080/vncproxy;
          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-Real-IP        $remote_addr;
          proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

server {
    if ($host = vncproxy.puqcloud.com) {
        return 301 https://$host$request_uri;
    } # управляється Certbot


	listen 80 ;
	listen [::]:80 ;
    server_name vncproxy.puqcloud.com;
    return 404; # управляється Certbot
}
service nginx restart

 

Наступний крок - встановлення vncproxy

apt-get install screen -y
cd /root/
wget http://download.puqcloud.com/WHMCS/servers/PUQ_WHMCS-Proxmox-KVM/vncproxy/vncwebproxy
chmod +x vncwebproxy 

Ми запустимо скрипт у вікні screen.
Перший параметр скрипта - це унікальний ключ. Ключ веб-проксі noVNC - у параметрі модуля WHMCS.

screen
./vncwebproxy puqcloud

Після успішного запуску ви можете переглянути журнал виконання у консолі.

root@vncproxy:~# ./vncwebproxy puqcloud
[./vncwebproxy puqcloud]
proxmox-test.uuq.pl59002022/09/11 19:11:08 [vncproxy][debug] ServeWS
2022/09/11 19:11:08 [vncproxy][debug] request url: /vncproxy/proxmox-test.uuq.pl/5900/d91bac199c2ce79392d8e175076e3780
2022/09/11 19:11:13 [vncproxy][info] close peer
[GIN] 2022/09/11 - 19:11:13 | 200 |  4.740249024s |   79.184.10.217 | GET      "/vncproxy/proxmox-test.uuq.pl/5900/d91bac199c2ce79392d8e175076e3780"

 

Безпека

Налаштування безпеки сервера повинні відповідати вашим стандартам.

Не забудьте, що для правильної роботи сервера ви повинні дозволити підключення до портів 80/443. І вихідні з'єднання до сервера PROXMOX.

 

 

 

 


Ця відповідь Вам допомогла?

« Назад

Powered by WHMCompleteSolution