Назад | Перейти на главную страницу

Apache2 с lighttpd в качестве прокси

Я использую apache2 в качестве веб-сервера. Я хотел бы помочь ему lighttpd в качестве прокси для статического контента. К сожалению, я не могу правильно настроить lighttpd и apache2. (ОС: Debian)

Важные вещи из lighttpd.config:

server.modules              = ( 
            "mod_access",
            "mod_alias",
            "mod_accesslog",
        "mod_proxy",
        "mod_status",
 )


server.document-root       = "/www/"
server.port               = 82
server.bind                = "localhost"

$HTTP["remoteip"] =~ "127.0.0.1" {
    alias.url += ( 
        "/doc/" => "/usr/share/doc/",
        "/images/" => "/usr/share/images/"
    )
    $HTTP["url"] =~ "^/doc/|^/images/" {
        dir-listing.activate = "enable"
    }
}

Я хотел бы использовать lighttpd только на одном сайте, работающем как виртуальный каталог на apache2. Конфигурация этого виртуального каталога:

ProxyRequests Off
ProxyPreserveHost On
ProxyPass /images http://0.0.0.0:82/
ProxyPass /imagehosting http://0.0.0.0:82/
ProxyPass /pictures http://0.0.0.0:82/
ProxyPassReverse / http://0.0.0.0:82/

ServerName MY_VALUES
ServerAlias www.MY_VALUES
UseCanonicalName Off
DocumentRoot /www/MYAPP/forum
<Directory "/www/MYAPP/forum">
DirectoryIndex index.htm index.php
    AllowOverride None 

...

Как видите (или нет;)) моя служба физически находится на пути:

/ www / myapp / forum

и я хотел бы поддержать lighttpd, работающий с папками:

/ www / myapp / forum / images
/ www / myapp / forum / imagehosting
/ www / myapp / forum / pictures

а остальное (скрипты PHP) оставил для apache

После запуска lighttpd и apache2 рабочая группа, но не показала никаких изображений этих мест. Что случилось?

ИМХО вы неправильно создали свою конфигурацию. В вашей конфигурации lighttpd проксируется Apache httpd, что не имеет особого смысла, поскольку вашей целью было использование (предположительно) лучшей производительности lighttpd.

Поэтому привяжите Apache httpd к другому порту и интерфейсу (например, 127.0.0.1:8080) и пусть mod_proxy lighttpd сделает всю грязную работу.

Видеть http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModProxy примеры настройки mod_proxy для lighttpd.

Я не понимаю, почему ты lighttpd.config имеет:

server.document-root       = "/www/"

Разве это не должно быть то же самое, что и Apache?

server.document-root       = "/www/MYAPP/forum/"

Или я что-то упускаю?

Также вы, вероятно, захотите удалить alias.url запись для images, так как это тоже сломает вещи.

Попробуйте изменить эти строки в apache:

ProxyPass /images http://127.0.0.1:82/
ProxyPass /imagehosting http://127.0.0.1:82/
ProxyPass /pictures http://127.0.0.1:82/
ProxyPassReverse / http://127.0.0.1:82/