> Это почему? ssl-соединение пользователь устанавливает с портом 443, а
> frontend слушает на 80.
Ну так на самом деле frontend должен слушать и на 80 и на 443.
Если приходит на 80 передаем на 81, причем на 81 порту мы принимаем запросы
только с локалхоста.
Если приходит на 443 передаем на 444 а там уже сидит mod_perl+mod_ssl,
который собсно все кодирование и раскодирование и проводит
Вот такая конфигурация мне видится.
----------------------------------------------
lightweight Apache DSO server + mod_proxy + mod_rewrite
Listen on 80, 443 ports
httpd.conf
-----
AllowCONNECT 443
RewriteEngine On
# non-encrypted scripts
RewriteRule ^/(.*\.(pl|shtml|asp))$ http://$host:81/$1 [P,L]
# encrypted scripts
RewriteRule ^/(.*\.(sshtml))$ https://$host:444/$1
[P,L]
# I don't want encrypt images
RewriteCond %{SERVER_PORT} == 443
RewriteRule ^/(.*)$ http://$host:80/$1 [R,L]
ProxyPassReverse / http://$host:81/
ProxyPassReverse / https://$host:444/
-----
----------------------------------------------
mod_perl Apache DSO server + mod_ssl
Listen on 81, 444 ports (Accepts connections from localhost only)
httpd.conf
-----
Here all SSL related stuff
-----
Редиректить то конечно можно на 443 порт на бекенд (он правда перестанет
быть бекендом в таком случае) но клиентов может быть много и модемы у них не
очень хорошие и результаты скриптов там будут обьемные, короче завесить они
могут бек-енд.
> Так что если backend и frontend живут на одной машине, и frontend ходит к
> backend-у по левому порту, проблем вообще никаких, если на разных то
> редиректор какой-нибудь завести.
>
И собсно оффтопик. Основная причина по которой я хочу повесить mod_ssl на
backend - это память.
бекенд процессов намного меньше чем фронтенд и они вообще ограничены пятью.
Вот что мне на данный момент показывает top:
----------------------------------------------
134 processes: 133 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 2.2% user, 3.3% system, 0.0% nice, 94.8% idle
Mem: 128396K av, 125284K used, 3112K free, 127332K shrd, 7976K buff
Swap: 130748K av, 3924K used, 126824K free 52540K cached
PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
28358 apache 0 0 17160 16M 11224 S 0 0.0 13.3 0:01
libhttpd.ep
28361 apache 0 0 16920 16M 11272 S 0 0.0 13.1 0:01
libhttpd.ep
28357 apache 0 0 16876 16M 11260 S 0 0.0 13.1 0:01
libhttpd.ep
28356 apache 0 0 16396 16M 11320 S 0 0.0 12.7 0:01
libhttpd.ep
28351 root 0 0 14316 13M 14188 S 0 0.0 11.1 0:01
libhttpd.ep
28359 apache 0 0 14312 13M 14192 S 0 0.0 11.1 0:00
libhttpd.ep
28360 apache 0 0 14312 13M 14192 S 0 0.0 11.1 0:00
libhttpd.ep
28339 apache 0 0 1912 1912 1492 S 0 0.0 1.4 0:00
libhttpd.ep
28346 apache 0 0 1720 1720 1488 S 0 0.0 1.3 0:00
libhttpd.ep
28344 apache 0 0 1712 1712 1488 S 0 0.0 1.3 0:00
libhttpd.ep
28337 apache 0 0 1672 1672 1472 S 0 0.0 1.3 0:00
libhttpd.ep
28343 apache 0 0 1672 1672 1472 S 0 0.0 1.3 0:00
libhttpd.ep
28341 apache 0 0 1664 1664 1468 S 0 0.0 1.2 0:00
libhttpd.ep
28338 apache 0 0 1660 1660 1468 S 0 0.0 1.2 0:00
libhttpd.ep
28345 apache 0 0 1660 1660 1472 S 0 0.0 1.2 0:00
libhttpd.ep
28340 apache 0 0 1656 1656 1468 S 0 0.0 1.2 0:00
libhttpd.ep
28342 apache 0 0 1652 1652 1464 S 0 0.0 1.2 0:00
libhttpd.ep
28273 root 1 0 1536 1536 1388 S 0 0.2 1.1 0:00
libhttpd.ep
.............
----------------------------------------------
У меня и фронтенд и бекенд в DSO скомпилены. И присутствует такая фигня
Кол-во расшареной памяти у процессов 127332K shrd больше чем кол-во
использованной памяти 125284K used - полная пурга. Может реально кол-во
использованной памяти намного меньше и мне можно не паря мозги повесить его
как DSO на front-end ? Как тогда узнать рельное кол-во использованной памяти
? Пусть это добавит 1-2 мегабайта всего - не страшно. А то я вижу что памяти
у меня уже типа совсем не осталось, а тут еще этот mod_ssl ставить который 1
Мег весит. Так совсем умереть можно будет.
----------------------------------------------
Sergey Polyakov (BeerBong)
Chief of Web Lab (http://www.mustdie.ru/~beerbong)
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =