User Tools

Site Tools


все_что_должен_знать_devops_про_html

Все что должен знать DevOps про HTML, HTTP и REST

Реклама

  • Всем привет! Предлагаем Вашему вниманию очередной “воспроизводимый в домашних условиях” вебинар. Давайте посмотрим, какие знания про HTML, HTTP и REST позволят нам решать обычные, стоящие перед DevOps инженером задачи

Техническое задание

  • Структура и полезные мета теги HTML
  • Использование заголовков HTTP для предоставления доступа к приложению
  • Использование REST интерфейса для управления и тестирования приложения

Запись вебинара

  Тэги: HTML, HTTP, REST, Nginx, Apache, Reverse proxy, Docker, MobaXterm, Wireshark, Postman

Шаг 1. HTML

Задачи:

  1. опубликовать информацию на web странице
  2. сделать редирект с одной web страницы на другую
student@debian:~$ sudo -i

debian:~# docker exec -ti http-app bash

root@5da33f8442d4:/usr/local/apache2# cat htdocs/index.html

debian:~# HTTP_APP_ROOT=$(docker inspect http-app -f {{.GraphDriver.Data.MergedDir}})

debian:~# cat ${HTTP_APP_ROOT}/usr/local/apache2/htdocs/index.html

Шаг 2. HTTP

Задачи:

  1. сохранение реального IP адреса клиента
  2. доступ к приложению через https реверс прокси

Анализ заголовков через в сетевом трафике

  • Реклама MobaXterm для работы с файлами
debian:~# timedatectl set-timezone Europe/Moscow

student@debian:~$ sudo tcpdump -nniany -A host 172.17.0.2 -w dump1.dmp

Анализ заголовков с использованием журнала

  • Возвращаем proxy_set_header … в nginx
debian:~# docker logs http-app -f

debian:~# cat ${HTTP_APP_ROOT}/usr/local/apache2/conf/httpd.conf
...
    LogFormat "%h %l %u %t \"%r\" %>s %b %{X-Forwarded-For}i" common
...
debian:~# ps ax | grep http

debian:~# kill -HUP NNNNN

Управление заголовками для доступа к Web приложению

admincmd> notepad C:\Windows\System32\drivers\etc\hosts
192.168.M.N kc.corp.un
...
# docker inspect keycloak -f {{.NetworkSettings.Networks.root_default.IPAddress}}

# cp /etc/nginx/sites-available/http-app /etc/nginx/sites-available/kc-app

# cat /etc/nginx/sites-available/kc-app
...
        server_name kc.corp.un;
...
        location / {
            proxy_pass http://172.18.0.2:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Proto $scheme;
        }

Шаг 3. REST

Задачи:

  1. Проверить работоспособность приложения
  2. Управлять данными в приложении
debian:~# cat /etc/hosts
...
192.168.M.N kc.corp.un
  1. Выводим список пользователей (GET)
  2. Добавляем user1 (POST)
  3. Обновляем информацию (добавляем атрибуты) user1 (PUT)
  4. Находим информацию по user1 (GET ?)
  5. Назначаем пароль и проверяем возможность подключиться https://kc.corp.un/realms/master/account/
  6. Удаляем учетную запись user1 (DELETE)
  • Примеры Keycloak REST API в Bash
https://kc.corp.un/realms/master/protocol/openid-connect/token

username:admin
password:strongpassword
grant_type:password
client_id:admin-cli

Что не вошло в вебинар

все_что_должен_знать_devops_про_html.txt · Last modified: 2025/08/23 08:41 by val