web-server – 使用子域代理对不同端口上的服务器的HTTP请求

前端之家收集整理的这篇文章主要介绍了web-server – 使用子域代理对不同端口上的服务器的HTTP请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个运行多个实例的极简主义 Python Web服务器,每个实例都有不同的端口指定为命令行参数.

我希望使用Host标头将我的服务器请求重定向为这样:

name1.mydomain.com -> localhost:8000
name2.mydomain.com -> localhost:8001
name3.mydomain.com -> localhost:8002

这是用Lighttpd这样的服务器做最好的事情并做一些虚拟主机配置 – 可能吗?

我宁愿不使用像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;
    }
}

猜你在找的HTML相关文章