Мне интересно, как я отправляю ответ HTTP 501 (не реализовано) на веб-сервере Lighttpd, когда кто-то пытается получить доступ к нашему api.mydomain.com через не-ssl.
Проверка у нас есть, но мы не видим, как на самом деле отправить ответ HTTP 501.
$HTTP["host"] =~ "api\.mydomain\.com$" {
$HTTP["scheme"] == "http" {
//// HOW DO WE SEND BACK HTTP RESPONSE 501
}
}
Способ lighttpd:
С конфигурационным файлом я знаю только об ошибках 404. Чтобы отправить «нереализованный» ответ, вы можете использовать lighttpd mod Magnet (и установить LUA), а затем:
В конфигурационном файле:
$HTTP["host"] =~ "api\.mydomain\.com$" {
$HTTP["scheme"] == "http" {
magnet.attract-physical-path-to = ("/path/to/501.lua")
}
}
Обратите внимание, что "/path/to/501.lua" должен быть доступен для чтения lighttpd. Затем в файле 501.lua:
lighty.content = { { filename = "/path-to-your/501.html" } }
lighty.header["Content-Type"] = "text/html"
return 501
Очень сложно просто отправить 501 ... не так ли?
Альтернативный способ:
Если у вас уже есть динамический язык, подключенный к fastcgi и т. Д., Вы можете реализовать ответы на ошибки (скажем, 501.php), которые делают то, что делает сценарий .lua:
И используйте их там, где это необходимо.