См. http://nginx.org/en/docs/http/request_processing.html для описания того, как nginx обрабатывает запрос, включая местоположения. Документация Wiki также имеет некоторые хорошие примеры. К сожалению, в настоящее время недокументированная функциональность - то, что Вы хотите здесь, скорее всего.
Как упомянуто ранее, только одно местоположение побеждает в NginX; однако, Вы не можете знать, что nginx поддерживает местоположения в местоположениях. Таким образом, Ваша стратегия местоположения могла бы на самом деле быть похожей на этот сервер в качестве примера (fastcgi.conf в 0.8.31 +):
upstream my-backend {
localhost:9000;
}
server {
listen 80;
server_name my-awesome-php.site;
root /path/to/root;
# The protected location
location /protected {
auth_basic "Give me codes.";
auth_basic_user_file /path/to/.htpasswd;
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass my-backend;
}
}
# Normal files (blank location is OK, just means serve from root)
location / {
}
# PHP for normal stuff
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass my-backend;
}
}
Если Ваш slicehost сервис поддерживает SSH, Вы могли бы установить туннель SSH между своей локальной машиной и slicehost, то настроить Ваш веб-браузер для использования того туннеля в качестве прокси SOCKS5. Вы не указываете то, что ОС Вы выполняете локально, но я собираюсь предположить окна.
Вот учебное руководство:
http://thinkhole.org/wp/2006/05/10/howto-secure-firefox-and-im-with-putty/