Я пытаюсь настроить прокси-сервер MITM для внедрения JS-скриптов во время транзита с использованием NGINX перед веб-приложением, расположенным за менеджером трафика Azure. Мне нужна помощь в правильной настройке (пример того, чего я пытаюсь достичь, приведен ниже).
Client
|
|
|
NGINX (Inject Javascript)
|
|
|
Azure Traffic Manager
|
|
|
Web App
Здесь нет никакого хитрого дела, мне просто нужно манипулировать функцией в веб-приложении, к которой у меня нет внутреннего доступа, передача скрипта JS позволит мне сделать это.
Я пробовал кодовый блок, указанный ниже, с C Name , указывающим на сервер NGINX. Обычно Traffic Manager требует, чтобы C Name указывало на него для правильного разрешения. Теперь, когда у меня есть конфигурация NGINX, я могу связаться с менеджером трафика, однако он разрешается с помощью веб-сайта 404, который не найден .
Это фрагмент моего default
файла в site-confs
...
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name mysubdomain.domain.com.au;
include /config/nginx/proxy-confs/*.subfolder.conf;
include /config/nginx/ssl.conf;
location / {
sub_filter </head>
'</head><script language="javascript" src="link.tomydomain.com/custom-script.js"></script>';
sub_filter_once on;
resolver 8.8.8.8;
proxy_pass http://azure.trafficmanager.net;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Destination http://gluh.trafficmanager.net;
}
}
...
Глядя на мой файл access.log
, я вижу следующее записанное в журнал.
...
121.xxx.xx.xxx - - [13/Jun/2019:21:11:57 +1000] "GET / HTTP/2.0" 404 1161 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
121.xxx.xx.xxx - - [13/Jun/2019:21:11:57 +1000] "GET /link.tomydomain.com/custom-script.js HTTP/2.0" 499 0 "https://mysubdomain.domain.com.au/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
...
Мой ожидаемый результат заключается в том, что трафик HTTP / HTTPS прозрачно проходит через прокси с тегами сценария, прикрепленными к <head> ... </head>
документа. Чего мне здесь не хватает, требует ли Azure Traffic Manager конкретной информации для правильной маршрутизации?