На Debian необходимо организовать конфигурационные файлы, поскольку Debian ожидает Вас к, самая важная вещь в этом случае для Вас будет VirtualHosts.
Они должны войти доступный сайтам как отдельные файлы (с одним или несколькими VirtualHosts на файл). Можно затем включить VirtualHost с a2ensite
.
Для создания сайта только доступным через SSH, я обычно делаю VirtualHost, который только прислушивается к соединениям с localhost, например:
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html/
<Directory /var/www/html/>
Allow from 127.0.0.1
Deny from all
Options FollowSymLinks Indexes
AllowOverride None
</Directory>
</VirtualHost>
Вы всегда можете установить собственный заголовок в vcl_recv:
sub vcl_recv {
if (req.http.Cookie ~ "(JSESSIONID=)" ) {
/* do not cache logged in users */
set req.http.x-my-mark = "passed";
return (pass);
}
return (lookup);
}
#...
sub vcl_fetch {
if (req.http.x-my-mark == "passed") {
/* custom rules block */
if (req.url ~ "^/foo") { set beresp.ttl=30s; }
if (req.url ~ "^/bar") { set beresp.ttl=1m; }
if (req.url ~ "^/123") { set beresp.ttl=10m; }
}
return (deliver);
}
Но я думаю, что будет намного проще поместить ваш логин на vcl_pass
[1] или просто выполнить первоначальную проверку на vcl_fetch:
sub vcl_fetch {
if (req.http.Cookie ~ "(JSESSIONID=)") {
/* custom rules block */
if (req.url ~ "^/foo") { set beresp.ttl=30s; }
if (req.url ~ "^/bar") { set beresp.ttl=1m; }
if (req.url ~ "^/123") { set beresp.ttl=10m; }
}
return (deliver);
}
[1] https://www.varnish-software.com/static/book/VCL_functions.html#vcl-vcl-pass