On Thu, 13 Nov 2003, Dmitry Belyavsky wrote:
> On Thu, 13 Nov 2003, Igor Sysoev wrote:
>
> > > > > Есть контент, который может отдаваться как по http, так и по https.
> > > > > Хочется, чтобы пользователь получил страницу с правильными ссылками
>(то
> > > > > есть по правильному протоколу) в зависимости от того, по какому
> > > > > протоколу он пришел.
> > > > >
> > > > > Хватит ли для этого пробрасывания http и https запросов на разные
>порты
> > > > > backend? Предполагается, что backend формирует ссылки правильно.
> > > >
> > > > Да.
> > > > Но, естественно, AccelPas должен быть без флага [PH].
>
> Тогда как это соотносится с тем, что написано ниже?
Выше я имел ввиду, что AccelPass [PH] стоит для всего сервера.
Теперь вижу, что неверно прочитал.
> > > Так. А флаг [PH] мне необходим по другим причинам. А передавать на
> > > backend хост с портом (80/443) нельзя?
> >
> > При выборе бэкенда из заголовка "Host" берётся только имя хоста без порта.
> > Так что не выйдет.
> >
> > Но даже если бы порт из "Host" передавался, то в данном случае я не уверен,
> > что браузер передаёт в "Host" 443 для https. Хотя в принципе, можно было бы
> > подставлять порт самому.
> >
> > > Полностью ситуация выглядит так:
> > > Для одного и того же url в зависимости от хоста запрос должен
> > > возвращать разные результаты. Про зависимость от протокола - см. выше.
> >
> > Я бы попробовал примерно так:
> >
> > <VirtualHost *:80>
> > AccelPass / http://backend:8000/ [PH]
> > </VirtualHost>
> >
> > <VirtualHost *:443>
> > AccelPass / http://backend:8443/ [PH]
> > </VirtualHost>
>
> То есть при этом в ключ хеша попадет и порт backend, и хост? Если да, то
> это то, что мне надо.
Да. То есть, если к нам придут с "Host: site" или "Host: site:80", то
запрос уйдёт на site:8000.
Игорь Сысоев
http://sysoev.ru