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

Lighttpd: открывать файлы в каталоге только через выбранный шаблон URL

Задний план

У меня есть веб-страница X, который я хотел бы обслуживать только через URL-адреса, соответствующие /X/${UUID}, где UUID - это случайный UUID, который я даю человеку. Я придумал решение, которое включает создание символических ссылок из каталога вне корневого веб-каталога в каталог с именем ${UUID}$ внутри корня сети.

Приблизительное решение

  1. Определить WEB=/Users/jpcooper/Web.
  2. mkdir $WEB/internal
  3. mv index.html style.css script.js $WEB.
  4. mkdir -p $WEB/root/X.
  5. cd $WEB/root/X; ln -s ../../internal ${UUID}.

lighttpd.conf:

server.document-root = "${WEB}/root"
server.follow-symlink = "enable"
index-file.names = ( "index.html" )
mimetype.assign = (
  ".html" => "text/html",
  ".css" => "text/css",
  ".js" => "text/javascript"
)

Lighttpd теперь будет отображать только URL-адреса формы /X/${UUID}.

Улучшение?

Есть ли лучший способ где-то зарегистрировать UUID и иметь URL-адреса формы /X/${UUID} прокси на ${WEB}/internal каталог? Можно ли это сделать без CGI?

Вы смотрели lighttpd mod_secdownload? https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModSecDownload