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

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

Реклама

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

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

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

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

Шаг 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 для работы с файлами
student@debian:~$ sudo tcpdump -nniany -A host 172.17.0.2 -w dump1.pcap

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

  • Возвращаем 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
...
# 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 X-Forwarded-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. Получаем токен для авторизации (POST)
  2. Выводим список пользователей (GET)
  3. Добавляем user1 (POST)
  4. Обновляем информацию (добавляем атрибуты) user1 (PUT)
  5. Находим информацию по user1 (GET …?q=…)
  6. Назначаем пароль и проверяем возможность подключиться https://kc.corp.un/realms/master/account/
  7. Удаляем учетную запись user1 (DELETE)
  • Примеры Keycloak REST API в Bash

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

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