当前位置 主页 > 服务器问题 > nginx问题汇总 >

    nginx解析泛域名详细教程

    栏目:nginx问题汇总 时间:2018-12-17 14:03

         一个项目需要承载高并发请求,所以在后端语言上选择了NodeJs,但是nodejs有时候读取不到请求的主机名,所以想到使用nginx+nodejs的方式进行处理。
      Nginx 配置
      代码如下
      upstream io_nodes {
      server 127.0.0.1:8081;
      }
      server {
      listen 80;
      listen [::]:80;
      root /var/www/html;
      server_name ——^(?<subdomain>.+).example.com;
      location / {
      proxy_set_header Host $host;
      proxy_set_header X-AppId $subdomain;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://io_nodes;
      }
      }
      重启nginx服务器即可。nginx会将所有的 **.example.com** 格式的域名反向代理到本机的**8081**端口,该端口为**nodejs**监听端口。
      NodeJs 读取请求域名以及子域名名称
      使用express
      var host = req.headers.host;
      var appid = req.headers['x-appid'];