Номенклатура обратного DNS в локальной сети?

С bash работа с подстроками:

s1="abcd"
s2="xwyz"
s1=${s1:0:2}${s2:3}${s1:3}
  • ${s1:0:2}-1-й фрагмент, содержащийab(до 3-го символаc)

  • ${s2:3}-4-й символ строки s2для вставки

  • ${s1:3}-последний (4-й )символ строки s1


Окончательное s1значение:

echo $s1
abzd

Или с помощью инструмента GNU awk :

gawk -v s2=$s2 -v FPAT='[a-z]' '{$3=substr(s2,4)}1' OFS="" <<< $s1
abzd

  • <<< $s1-первая строка s1считается входным содержимым

  • -v s2=$s2-передача второй строки s2в качестве переменной в скрипт awk

  • FPAT='[a-z]'-шаблон регулярного выражения, определяющий значение поля([a-z]-любой буквенный символ)


В качестве альтернативы вы также можете применить «пустой» разделитель полей FS="", рассматривая каждый символ как отдельное поле:

gawk -v s2=$s2 'BEGIN{ FS=OFS="" }{$3=substr(s2,4)}1' <<< $s1
abzd
0
14.10.2019, 22:49
2 ответа

Это известно как «обратный прокси ». Оба Apache2 и Nginx имеют эту функциональность, как и Varnish.

Лично и профессионально я использовал Apache2 в качестве обратного прокси-сервера. Я пробовал использовать Varnish, и у меня никогда не получалось успешной реализации, но, конечно, это не значит, что у вас это не сработает.

Что нужно помнить

  • Ваш веб-сайт с реальным содержанием часто должен знать, что он находится за ускорителем
  • Запускайте обратный прокси-сервер с https (LetsEncrypt, например, имеет множество средств автоматизации для создания и обновления SSL-сертификатов)
  • Не запускайте реальный веб-сайт с https, но убедитесь, что он считает, что работает с https
  • Вам нужно будет переписать не только входящие и исходящие URL-адреса, но и исходящий контент
3
28.04.2021, 23:28

Когда вы отправляете HTTP-запрос в браузере к доменному имени, вводя URL-адрес, браузер сначала ищет IP-адрес этого домена, затем открывает соединение с этим IP-адресом через порт #80 и отправляет это (вариантов масса, но для примера достаточно):

Тестовый URL-адрес:http://www.bluejeans.com/testurl

> GET /testurl HTTP/1.1
> User-Agent: curl/7.20.0 (i686-pc-linux-gnu) libcurl/7.20.0 OpenSSL/1.0.2t zlib/1.2.3 libidn/0.6.5
> Host: www.bluejeans.com
> Accept: */*

Как видите, исходный URL-адрес разделен, целевое доменное имя теперь содержится в заголовке Host:, а оставшийся путь URL-адреса является параметром GET. Это информация, которая достигает веб-сервера, обратного прокси-сервера, кеша или любого промежуточного программного обеспечения, которое прослушивает определенный порт IP :.

Одной этой информации достаточно, чтобы принять решение о входящем запросе, к какому веб-сайту он хочет обратиться, и он может быть правильно прокси -ред к тому серверу, который действительно обслуживает запрос (иногда называетсяorigin server).

2
28.04.2021, 23:28

Теги

Похожие вопросы