LINUX.ORG.RU

Как работает apache proxy?

 , ,


0

1

есть домен А с ssl сертификатом, есть сервер В без https
на домене А в VirtualHost вкинуто:

 ProxyPass /С http://IP_адрес_В
 ProxyPassReverse /С http://IP_адрес_В

соотв. при обращении на https://A/C данные идут от В в браузер, и браузер их воспринимает как закрытые сертификатом А

вопросы:

  • данные физически идут от В к А и потом клиенту, или напрямую от В клиенту?
  • если от В к А то как удобней перевести на режим «от В к клиенту»? подвязать поддомен и выпустить для А сертификат с *.А? нюанс в том что IP адрес В - динамический (и это обязательно) т.е. подвязывать его через dns с коротким ttl не шибко комфортно ибо будут простои при смене адреса (А всегда в курсе когда меняется адрес у В и может перепривязать проксю в айн момент)
  • если данные идут сразу напрямки, то как это можно повторить руками без апача?

п.с. да, хотелось бы переизобрести велосипед динднс только без публичного днс а с привязкой к серверу А но с прямым пробегом данных от В к клиенту в обход А, сертификат можно выпустить на каждый В свой

★★★

Ответ на: комментарий от Oleg_Iu

Stunel точно загонит весь трафик через А

По сути задачка просто подставить IP адрес В под субдомен в А или ещё каким способом перекинуть запрос к А на В.

На В лежат «пассивные» данные (видео) но упоротые современные браузеры упорно повышают уровень безопасности для смешанного содержимого даже если их сильно просить этого не делать, при этом через прокси тот-же mp4 работает не шибко идеально ввиду, опять-таки, очень упоротой новомодной схемы с «запросить файл целиком и сразу порвать коннект ради того что-бы переключиться на частичные запросы» если сервер позволяет запрос файла кусками.

Для важных В все делается просто - статичный адрес, запись в днс и сертификат, но для неважных хотелось бы оставить возможность работы на динамическом адресе

rukez ★★★ ()
Ответ на: комментарий от rukez

С последней проблемой почему бы не попробовать hls? Ну там нарезать большой файл на кусочки, сделать индексный файл, выставить нужный content-type и отдавать браузеру ссылку на индексный файл

cobold ★★★ ()
Ответ на: комментарий от cobold

Да, так и сделал в итоге.
Из минусов - пришлось писать в ts и соотв в пк браузерах работает только через js плеер, но довольно прозрачно.

Из плюсов - из коробки работает в иос, с костылем (сервер генерит индексы сам по запросу файла или времени) неплохо стримит архив (правда пока не совсем разобрался почему пропускает некоторые куски) и vlc не рвёт соединение при обращении к ts (в отличии от мп4)

rukez ★★★ ()
  1. от В к А и потом к клиенту, именно это и называется словом «прокси»

  2. Сделай между А и В туннель с постоянными внутренними адресами.

  3. Чтобы клиент шел на В, минуя А, можно сделать поддомен sub.a, но динамический адрес это неудобно, поэтому см. п. 2.

anonymous ()
Ответ на: комментарий от anonymous

от В к А и потом к клиенту, именно это и называется словом «прокси»

увы, да

Сделай между А и В туннель с постоянными внутренними адресами.

В в другой сети в другой стране, хотелось именно не гонять трафик от В к А

Чтобы клиент шел на В, минуя А, можно сделать поддомен sub.a, но динамический адрес это неудобно, поэтому см. п. 2.

пока просто пустил трафик от В к клиенту через А в обход шифрования на А - в целом работает хорошо :-)

А насколько динамичны динамические адреса? Сейчас зона обновляется за считанные минуты, если это терпимо, то можно и не заморачиваться совсем.

увы, непредсказуемо динамичны т.е. может не обновляться сутками а может несколько раз в час обновиться, если В болтается на gsm канале

трабл еще в том что когда меняется айпи, прокисает и самоподписанный сертификат у В, и если в первый раз обмен ключами между В и клиентом происходит в локальной сети (и можно спокойно принять и сохранить сертификат в доверенные), то все последующие обмены уже идут через инет и соотв. даже если при каждой смене адреса на В перегенерировать сертификат, то принимать его на клиенте не то чтоб правильно.

для полновесных клиентов это всё решается через openvpn, который можно развернуть сервером на каждом В и спокойно тыкаться в него с клиента, получив от А адрес В и при обрыве перезапросив новый адрес, но с мобилки это некоторая боль

rukez ★★★ ()
Ответ на: комментарий от rukez

По-моему прямое подключение клиента к дергающемуся айпишнику будет более корявым способом, тем более ты, видимо, генеришь сертификаты с cn=айпишник либо выкидываешь tls вообще (см. «дилемма Эскобара»).

Динамическая регистрация в днс может помочь, но есл; все-таки допустимо проксирование, то я бы сказал В подключаться к А (впн) и назначил бы им статические внутренние адреса. Так у тебя хотя бы бесшовно обработается смена айпишника на В.

anonymous ()