2010-02-18 2 views
0

Я пытаюсь настроить мой сервер lighttpd на использование модуля fastcgi. Рецепт я следую (вслепую) призывает к следующей строке в lighttpd.conf

$HTTP["host"] =~ "(^|\.)example\.com$" { 

Я бегу на виртуальном частном сервере, и у меня нет имени домена, просто IP. Таким образом, я предполагаю, что я должен заменить доменное имя с моим IP - скажем, 100.101.102.103

Это не работает

$HTTP["host"] =~ "(^|\.)100\.101\.102\.103$" { 

Ни делает несколько вариаций.

ответ

0

Я обнаружил, что это работает:

$SERVER["socket"] == "0.0.0.0:8000" { 
0

Сделайте поиск по вашему IP-адресу, действительно ли есть no DNS-имя для него? Они, судя по всему, предоставляют субдомен по крайней мере.

Наконец, вы можете просто положить «*», и он ответит на все.

Вы используете fastcgi? это действительно имеет значение.

+0

$ HTTP ["host"] = ~ "*" {- это дает мне ошибку парсера. – ravenspoint

+0

Вы попробовали обратный поиск, который я упомянул? – avirtuos

+0

Я только что просмотрел свою собственную конфигурацию для fastcgi с php & python (должен был сделать это вчера). Вам не нужно определять $ HTTP ["host"], если вы не хотите переписывать/перенаправлять URL-адреса. Если вы разместите свой конфиг, я могу показать вам, что изменить. – avirtuos

1

Вы можете определить, что значение $ HTTP [ «хост»] для любого данного запроса, посмотрев в журнал доступа LightTPD (это уже вторая запись на стандартном log line, он будет отображаться как «-», если запрос не указал его).

Если журнал показывает вам иметь фиксированный IP-адрес, это гораздо чище тест для этого:

$HTTP["host"] == "100.101.102.103" { 

(хотя регулярное выражение, которое вы использовали должно было сработать).

Возможно, причиной этого является путаница в том, что $ HTTP ["host"] установлен в значение заголовка «Host:» во входящем запросе, так что он полностью находится под контролем клиента (браузер, сценарий , что угодно), который делает запрос. Зная, что URL-адрес, который вы тестируете, многое прояснит.

Смежные вопросы