Подготовка виртуального сервера
November 24, 2023 at 2:43 PMОглавление
HTTP доступ
Примечание:
<loc.io> - домен локации.
Для создания HTTP доступа пользователю необходимо выполнить следующие действия:
- Заказать сервис в Compute (например, CentOS 8.3)
-
Настроить VPN-доступ в сервисе VPN
-
Подключиться к виртуальной машине, например, по SSH (ssh root@1.1.1.1)
-
Установить веб-сервер
- Установите веб-сервер (в качестве примера: apache):
sudo yum install -y httpd
- Запустите веб-сервер:
sudo systemctl enable httpd —now
- Проверьте, что веб-сервер запущен:
sudo systemctl status httpd
Вывод команды (пример):
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2022-05-25 10:34:11 +03; 7s ago
Docs: man:httpd.service(8)
Main PID: 103004 (httpd)
Status: "Started, listening on: port 80"
Tasks: 213 (limit: 23512)
Memory: 26.4M
CGroup: /system.slice/httpd.service
├─103004 /usr/sbin/httpd -DFOREGROUND
├─103005 /usr/sbin/httpd -DFOREGROUND
├─103006 /usr/sbin/httpd -DFOREGROUND
├─103007 /usr/sbin/httpd -DFOREGROUND
└─103008 /usr/sbin/httpd -DFOREGROUND
May 25 10:34:11 alb-demo1.pt35.cmp.loc.io systemd[1]: Starting The Apache HTTP Server...
May 25 10:34:11 alb-demo1.pt35.cmp.loc.io systemd[1]: Started The Apache HTTP Server.
May 25 10:34:11 alb-demo1.pt35.cmp.loc.loc.io httpd[103004]: Server configured, listening on: port 80
- Вспомогательные команды для работы веб-севера:
Перезагрузка конфигурации (при изменении файлов конфигурации):
sudo systemctl reload httpd
Перезагрузка веб-сервера:
sudo systemctl restart httpd
- Проверка работы веб-сервера:
Добавить в файл/var/www/html/index.html
любой текст,
например: “Hello from alb-demo1.pt35.cmp.loc.io”
[root@alb-demo1 ~]# curl http://localhost
Hello from alb-demo1.pt35.cmp.loc.io
- Настройка системного Firewall По умолчанию, системный Firewall блокирует весь HTTP и HTTPS трафик, который приходит извне на порты 80 и 443. Для отключения блокировки, необходимо добавить сервисы http, https в правила firewall. Для необходимо выполнить команды:
sudo firewall-cmd —permanent —zone=public —add-service=http
sudo firewall-cmd —permanent —zone=public —add-service=https
Для того, чтобы правила применились, нужно перезагрузить конфигурацию firewall:
sudo firewall-cmd —reload
Проверить, что правила прописаны:
sudo firewall-cmd —list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: cockpit dhcpv6-client http https ssh
ports:
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
- Создать публичный маршрут в сервисе Load Balancer.
Для этого нажмите Create Route
и заполните параметры (пример):
- После создания публичного маршрута для корректной работы пользователю необходимо во вкладке
DNS Domains
указать, что cервер alb-demo1.pt35.cmp.loc.io ссылается на публичный хост (или IP адрес) балансировщика аккаунта, который указан на странице со всеми веб-маршрутами. В данном случае – это pt35.alb.loc.io.
Для добавления записи в DNS перейдите во вкладку DNS domains
.
Выберите необходимый DNS домен (pt35.cmp.loc.io):
В ней создайте запись типа CNAME:
Проверьте, что публичный маршрут работает:
В адресной строке браузера введите http://alb-demo1.pt35.cmp.loc.io
HTTPS доступ (автоматический выпуск сертификатов)
Edge-терминация
При создании маршрута пользователю необходимо поставить галочку Безопасный маршрут и выбрать тип TLS Терминации – Edge.
Небезопасный трафик:
- Allow – автоматическое перенаправления с http на https происходить не будет,
- Redirect – автоматическое перенаправление на https.
Если TLS Сертификат не выбран (None), то будет сгенерирован LetsEncrypt сертификат.
Проверьте, что публичный маршрут работает:
В адресной строке браузера введите http://alb-demo1.pt35.cmp.loc.io
Re-encrypt-терминация
Если на конечном виртуальном сервере используется протокол HTTPS, то необходимо выбирать данную опцию.
При создании такого маршрута пользователю необходимо поставить галочку Безопасный маршрут и выбрать тип TLS Терминации – Re-encrypt.
Небезопасный трафик:
- Allow – автоматическое перенаправления с http на https происходить не будет,
- Redirect – автоматическое перенаправление на https.
Если TLS Сертификат не выбран (None), то будет сгенерирован LetsEncrypt сертификат.
Passthrough-терминация
При создании такого маршрута пользователю необходимо поставить галочку Безопасный маршрут и выбрать тип TLS Терминации – Passthrough.
Небезопасный трафик:
- Allow – автоматическое перенаправления с http на https происходить не будет,
- Redirect – автоматическое перенаправление на https.
HTTPS-доступ с использованием собственных сертификатов
Загрузите имеющийся у вас сертификат в диалоге загрузки сертификатов.
При создании маршрута в поле TLS Сертификат можно указать добавленный сертификат. В течение 90 секунд он добавится к роуту.