Nginx

Как да използвам Nginx Proxy Manager

Как да използвам Nginx Proxy Manager
Nginx е популярен уеб сървър и обратен прокси, използван за маршрутизиране на трафика и пренасочването му към друг сървър. Настройването на Nginx като обратен прокси може да отнеме много време и да е склонно към грешки и неправилни конфигурации. Това ръководство ще ви покаже как да настроите и използвате прокси мениджъра на Nginx за по-лесно управление и конфигуриране. Преди да се потопите в урока, има няколко предпоставки. Ще имаш нужда:

  1. Linux сървър
  2. Docker и Docker съставят, инсталирани на сървъра
  3. Root или потребител с права на sudo

Ако имате всичко това, нека се потопим.

Какво представлява Nginx Proxy Manager?

Прокси мениджърът на Nginx (NPM) е обратна прокси система за управление, работеща на Docker. NPM се основава на сървър Nginx и предоставя на потребителите чист, ефективен и красив уеб интерфейс за по-лесно управление. Инструментът е лесен за настройка и не изисква от потребителите да знаят как да работят с Nginx сървъри или SSL сертификати. NPM е инструмент с отворен код, поддържан от разработчици от цял ​​свят. Той е подходящ за малки сървърни среди и частни лабораторни среди. Този урок ще се фокусира върху това как да разгърнете мениджъра на прокси Nginx:

Инсталиране на Docker и SQLite

Nginx Proxy manager работи като докер контейнер; по този начин, той изисква Docker и docker-compose, инсталирани на сървъра. За по-голяма простота ще илюстрирам само как да инсталирам Docker на Ubuntu. Моля, обърнете се към документацията на Docker за справка как да го настроите на други системи. За да инсталирате Docker на Ubuntu, започнете, като премахнете старите инсталации на Docker. Пропуснете това, ако няма налични.

sudo apt-get премахване на докер докер-докер на двигателя.io контейнер runc

След това инсталирайте хранилището и всички зависимости, като използвате командите:

sudo apt-get update
sudo apt-get инсталиране apt-transport-https ca-сертификати curl gnupg lsb-release -y

Добавете GPG ключа на хранилището на Docker:

curl -fsSL https: // изтегляне.докер.com / linux / ubuntu / gpg | sudo gpg --dearmor -o / usr / share / keyrings / docker-archive-keyring.gpg

След това добавете стабилното хранилище, като използвате командата echo като:

echo "deb [arch = amd64 подписан = / usr / share / keyrings / docker-archive-keyring.gpg] https: // изтегляне.докер.com / linux / ubuntu \
$ (lsb_release -cs) стабилен "| sudo tee / etc / apt / sources.списък.г / докер.списък> / dev / null

И накрая, актуализирайте хранилищата и инсталирайте докер, като използвате командите:

sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose -y

Сега стартирайте докер и активирайте при стартиране:

sudo systemctl разреши докер.обслужване
sudo systemctl старт докер.обслужване
sudo systemctl разреши containerd.обслужване

Инсталирайте SQLite

Следващата стъпка е да инсталирате базата данни SQLite, която ще използваме за стартиране на NPM. Добре е да се отбележи, че можете да използвате и базата данни MySQL.

Разположете NPM на Docker

За да разположим Nginx Proxy Manager, трябва да създадем файл за съставяне на докер, за да стартираме Docker и да инициализираме контейнера. За да научите повече за файла за съставяне на Docker и как работи, помислете за ресурсите, свързани тук. Силно ви препоръчвам да създадете файла за съставяне на докер в директория, която има пълни разрешения.

nano docker-compose.ямъл

След това добавете следните редове към файла за композиране, запазете и затворете.

версия: "3"
услуги:
приложение:
image: 'jc21 / nginx-proxy-manager: най-новите'
рестартиране: винаги
портове:
# HTTP порт
- '80: 80 '
# HTTPS порт:
- „443: 443“
# Администраторски интерфейс
- '81: 81 '
околен свят:
DB_SQLITE_FILE: "/ данни / npm.sqlite "
обеми:
- ./ данни: / данни
- ./ letsencrypt: / и т.н. / letsencrypt

И накрая, изпълнете командата docker-compose като:

docker-compose up -d

Това ще разположи стека от NPM изображението, посочено във файла за съставяне на докер. Изход за създаване:

Създаване на мрежа "debian_default" с драйвера по подразбиране
Издърпване на приложение (jc21 / nginx-proxy-manager: най-новото) ..
последно: Изтегляне от jc21 / nginx-proxy-manager
801bfaa63ef2: Издърпване завършено
7927cd3bbe4c: Издърпване завършено
f53b85628da5: Издърпване завършено
e834c30791f9: Издърпайте завършено
6b68b3708dd5: Издърпайте завършено
963fe519b5fd: Издърпайте завършено
37e54d057f10: Издърпване завършено
-------------------------------------
Дайджест: sha256: b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Състояние: Изтеглено по-ново изображение за jc21 / nginx-proxy-manager: последно
Създаване на debian_app_1 ... готово

Достъп до потребителския интерфейс на NPM

След като бъде създаден и стартиран, можете да влезете в интерфейса, използвайки IP адреса и порта, посочени във файла за съставяне на докер. В този случай порт 81.

http: // IP: 81

Най-добре би било, ако сте се приземили на потребителския интерфейс на NPM за вход. Въведете потребителското име и паролата като:

[имейл защитен] и съответно changeme.

При първоначално влизане ще трябва да актуализирате данните за администратора.

След като актуализирате всички подробности за потребителя, ще стигнете до главното табло за управление, откъдето можете да конфигурирате своите прокси хостове:

Работа с NPM

След като инсталирахме и се уверихме, че прокси мениджърът работи, можем да добавим прокси хост, за да изложим услуга, работеща на сървъра. Отворете Hosts - Proxy Hosts и щракнете върху Add Proxy Host.

Изберете схемата като HTTP или HTTPS. Ако услугата, която искате да изложите, не поддържа HTTPS трафик, придържайте се към HTTP. След това добавете имената на домейни, Препращане на име на хост и IP. Можете също да изберете Блокиране на общи експлойти за допълнителна сигурност.

След като сте изложили услугата, опитайте да я осъществите, като използвате посоченото име на хост или IP и порт. Тази услуга трябва да бъде достъпна. Можете също да управлявате проксито в списъка с прокси хостове.

Списък за достъп до NPM

В някои случаи може да се наложи да изложим приложение или услуга в списъка на прокси сървъра на NPM на конкретни IP адреси. За да конфигурирате това, можете да използвате списъка за достъп на NPM.

Придвижете се до Списък за достъп и кликнете върху Добавяне на списък с прокси сървъри. Тук им дайте име на списък за достъп; можете също да изберете „Удовлетвори всяко“.

В раздела за упълномощаване задайте потребителските имена и пароли, които ще използвате за влизане в услугата.

Придвижете се до раздела Access и добавете IP адресите, от които искате да разрешите връзки, и откажете всички останали.

За да прикачите списъка за достъп към конкретно уеб приложение, отворете Hosts - Proxy Host и изберете вашия хост. Кликнете върху Редактиране и задайте списъка за достъп, както е дефиниран по-горе.

Предоставяне на SSL сертификати

NPM също ви позволява да предоставяте SSL сертификати за различни имена на домейни. Преди да добавите име на домейн към SSL разпоредбата, уверете се, че домейнът сочи към прокси сървъра NPM.

Придвижете се до SSL сертификати и кликнете върху Добавяне на SSL сертификат. Посочете имената на домейните и имейл адреса за Let's Encrypt. И накрая, приемете условията на услугата и запазете. Можете също да добавите DNS предизвикателство, но няма да разглеждам това в този урок.

Това ще създаде нов надежден SSL сертификат.

Персонализирайте началната страница

Можете също така да персонализирате уеб страницата по подразбиране за NPM сървъра. Кликнете върху Настройки - Сайт по подразбиране и изберете Редактиране. Можете да изберете да покажете 404 ГРЕШКА, да пренасочите към нов адрес или да създадете персонализирана страница.

Например, по-долу има HTML код, за да се покаже 403 Забранено.







403 - Забранено


ИЗТОЧНИК: CodePen https: // codepen.io / blecaf / pen / NLoEPY

Заключение

Този урок разглежда инсталирането и внедряването на Nginx Proxy manager на Ubuntu сървър, работещ с Docker. След това разгледахме как да конфигурираме NPM и да добавим хостове към прокси мениджъра.

Запомнете: Постоянното експериментиране е ключът към майсторството, така че експериментирайте далеч!

Топ 5 карти за залавяне на игри
Всички сме виждали и обичаме поточни игри в YouTube. PewDiePie, Jakesepticye и Markiplier са само някои от най-добрите геймъри, които са спечелили мил...
Как да разработите игра на Linux
Преди десетилетие не много потребители на Linux биха прогнозирали, че любимата им операционна система един ден ще бъде популярна игрална платформа за ...
Пристанища с отворен код на търговски игрални машини
Безплатни разширения на играта с отворен код и междуплатформени игри могат да се използват за възпроизвеждане на стари, както и някои от доста скорошн...