假设我有一个极简主义的Python Web服务器,运行几个实例,每个实例都有不同的端口指定为命令行参数。
我想请求我的服务器被redirect像这样,使用主机头:
name1.mydomain.com -> localhost:8000 name2.mydomain.com -> localhost:8001 name3.mydomain.com -> localhost:8002
用Lighttpd这样的服务器和做一些虚拟主机configuration是否可以做到这一点?
我不想使用像Apache这样重的东西。
谢谢!
有了nginx,你可以使用如下的东西:
server { server_name name1.domain.com; location / { proxy_pass http://localhost:8000; } } server { server_name name2.domain.com; location / { proxy_pass http://localhost:8001; } } server { server_name name3.domain.com; location / { proxy_pass http://localhost:8002; } }
顺便说一下,还有另一种方法使用map指令来达到同样的效果:
map $http_host $port { hostnames; default 8000; name1.example.com 8000; name2.example.com 8001; name3.example.com 8002; } server { listen 80; server_name ~^name\d.example.com; location / { proxy_pass http://127.0.0.1:$port; } }