У меня есть блог WordPress, работающий на lighttpd-1.4.19, прослушивающий по адресу www00: 81. На том же хосте apache-2.2.11 прослушивает порт 80, который создает прокси-соединение от http://blog.mydomain.org:80
до http://blog.mydomain.org:81
(оба являются одной и той же физической машиной).
Виртуальный хост Apache выглядит следующим образом:
<VirtualHost *:80>
ServerName blog.mydomain.org
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://blog.mydomain.org:81/
ProxyPassReverse / http://blog.mydomain.org:81/
</VirtualHost>
Используя debug.log-request-handling = "enable"
, при просмотре http://blog.mydomain.org:80
(обратите внимание на заголовки Host
) я получаю следующую запись:
2010-05-10 08:47:14: (request.c.294) fd: 6 request-len: 853
GET / HTTP/1.1
Host: blog.mydomain.org:81
[...]
2010-05-10 08:47:15: (request.c.294) fd: 8 request-len: 754
GET /wp-content/uploads/2010/01/image.gif?w=280 HTTP/1.1
Host: www00:81
Моя проблема: насколько я знаю, переменная окружения PHP $_SERVER['HTTP_HOST']
установлена в эту переменную заголовка Host
. К сожалению, WordPress использует эту переменную в своей системе для создания URL-адресов к изображениям в блоге. Эти URL не будут доступны за брандмауэром, конечно. Как я могу заставить заголовок хоста быть blog.mydomain.org
вместо blog.mydomain.org:81
, соответственно www00:81
? Я уже добавил set server.name = "blog.mydomain.org"
к своему lighttpd.conf
, но это не сработало.
Любые предложения приветствуются, спасибо.