It Hints
Search
Close this search box.

Всем при­вет — на днях заду­мал я под­нять сер­вер авто­ма­ти­за­ции рабо­чих про­цес­сов на базе n8n, но вот неза­да­ча — для его кор­рект­ной рабо­ты нужен http порт, то есть 80й порт на кото­рый дол­жен быть доступ из Internet’а. А он у меня уже занят Web сервером.

То есть вста­ла зада­ча при­ни­мать запро­сы от пор­та 80 и пере­сы­лать эти запро­сы на дру­гие сер­ве­ра. Как это сде­лать ? В этом нам помо­жет Реверс-прок­си (или обрат­ный прок­си) кото­рый мож­но сде­лать на NGINX.

Схе­ма­тич­но рабо­ту Reverse Proxy мож­но пред­ста­вить вот так:

Схе­ма рабо­ты Nginx Proxy Manager

И если у вас Proxmox не ниже вер­сии 8.x то NGINX ста­вит­ся неве­ро­ят­но просто.

У меня же Proxmox вер­сии 7.3 и мне перед уста­нов­кой NGINX при­шлось обно­вить Proxmox до послед­ней вер­сии. Как это сде­лать о опи­сал здесь.

И так Proxmox обнов­лён — погнали.

И пер­вое что мы дела­ем — идём на https://tteck.github.io/Proxmox/#proxmox-ve-tools

Это полез­ный ресурс где нахо­дят­ся раз­лич­ные скрип­ты авто­ма­ти­за­ции Proxmox-VE. Вво­дим в поис­ке nginx и видим сек­цию с Nginx Proxy Manager LXC. Пря­мая ссыл­ка вот

Здесь мы копи­ру­ем команду:

				
					bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/nginxproxymanager.sh)"

				
			

Захо­дим в Web интер­фейс Proxmox — идём в Shell и встав­ля­ем туда ско­пи­ро­ван­ную команду.

Встав­ля­ем ско­пи­ро­ван­ную команду

Будет авто­ма­ти­че­ски уста­нов­лен кон­тей­нер с харак­те­ри­сти­ка­ми CPU=1, RAM=1Gb, DiskSize=4Gb, то есть как видим ему для рабо­ты нуж­но совсем мало ресур­сов. Далее всё остав­ля­ем по умолчанию.

Отве­ча­ем Yes
Отве­ча­ем Yes

После это­го пой­дёт установка

Ждём когда уста­но­вит­ся — заод­но озна­кам­ли­ва­ем­ся с конфигурацией

Здесь нас спра­ши­ва­ют — хотим ли мы уста­но­вить ста­рую вер­сию Y или новую N — отве­ча­ем N (хотим новую версию)

Здесь отве­ча­ем N

Далее уста­нов­ка пой­дёт даль­ше, после чего нам выве­дет­ся URL для входа.

Уста­нов­ка закончена

Уста­нов­ка завер­ше­на. Копи­ру­ем URL для вхо­да в Nginx Proxy Manager

Имя поль­зо­ва­те­ля [email protected]
пароль changeme

Далее пере­на­прав­ля­ем пор­ты 80 и 443 с марш­ру­ти­за­то­ра на IP-адрес Nginx Proxy Manager LXC.

После пер­во­на­чаль­но­го вхо­да поме­няй­те Email (Email и будет ваш логин для входа)
После сме­ны Email поме­няй­те пароль

Кон­фи­гу­ри­ро­ва­ние здесь очень про­стое, захо­ди­те в Hosts -> Proxy Hosts. Нажи­ма­е­те Add Proxy Host

В поле Domain Names пиши­те назва­ние ваше­го сай­та или несколь­ких сай­тов, без http и www, т.е. site.ru

Выби­ра­е­те про­то­кол http или https — соот­т­вест­ствен­но 80 и 443 порты

В Forward Hostname/IP — пиши­те IP адрес или хост сер­ве­ра, куда нуж­но пере­на­прав­лять запрос.

Далее мы идём во вклад­ку SSL, выби­ра­ем Request a new SSL Certificate “with Let’s Encrypt”, акти­ви­ру­ем пол­зу­нок “I Agree to the Let’s Encrypt Terms of Service” и нажи­ма­ем Save.

И если у вас про­бро­ше­ны 80 и 443 пор­ты на роу­те­ре, то будут полу­че­ны новые сертификаты.

На этом уста­нов­ка и настрой­ка закончены

P.S. Какие вопро­сы пока ещё не уда­лось решить ? aaPanel после это­го пере­стал полу­чать сер­ти­фи­ка­ты — то есть во вре­мя их полу­че­ния выхо­дит ошиб­ка. Ско­рее все­го это свя­за­но с тем, что сер­ти­фи­ка­ты полу­ча­ет NGINX. Как сде­лать что­бы он их пере­дал Web сер­ве­ру ? Если же под­су­нуть сер­ти­фи­ка­ты вруч­ную, то всё рабо­та­ет — но посто­ян­но про­пи­сы­вать их вруч­ную тоже не хоро­шо, хоть это и раз в несколь­ко меся­цев. Воз­мож­но это как то реша­ет­ся через cloudflare

Друзья - если вы нашли для себя что то полезное и хотите помочь проекту развиваться дальше, Вы можете задонатить любую сумму на поддержку. Деньги пойдут исключительно на оплату доменного имени, хостинга, а так же на мотивацию.

Facebook
Twitter
Email
VK
WhatsApp
Telegram