zoukankan      html  css  js  c++  java
  • nginx 泛域名解析 实现 多域名动态网站内容

    假设域名为 mydomain.net

    nginx 如何实现多子域名,且各域名网站内容动态?

    1、添加泛域名解析

    2、监听

    listen 80;
    server_name  *.mydomain.net;

    3、获取子域名名称

      set $subdomain '';
      if ($host ~* ((?!m).+).mydomain.net) {
        set $subdomain $1;
      }

    4、子域名匹配网站内容

    这一块有两种实现:

    1)直接将子网站内容,放在nginx目录下,目录结构匹配 $subdomain

    proxy_pass https://mydomain.net/$subdomain/;

    这种对于类似建站服务显然不适用;多台负载时,也比较麻烦;内容有改动时,需上传

    2)将 $subdomain 写入 cookie,一个(壳)页面,根据 $subdomain 值,动态加载内容

    下面就是该实现的 nginx 配置

    location / {
        proxy_pass https://mydomain.net;
        proxy_set_header Host      $proxy_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        #解决path为/
        proxy_set_header X-Forwarded-Proto $scheme;
        #写cookie,如需指定domain,必需 “同源”
        add_header Set-Cookie 'x_domain=$subdomain;path=/';
      }

     x_domain 即为 cookie name

    5、总览

  • 相关阅读:
    NGINX基本概念
    IP地址进制转换
    路由
    ip ,网段, 网关
    ipaddress模块
    第53课 被遗弃的多重继承(上)
    const static valitate 区别
    第49课 多态的概念和意义 (虚函数virtual)
    第75课 图的遍历(深度优先遍历DFS)
    第74课 图的遍历(广度优先遍历BFS)
  • 原文地址:https://www.cnblogs.com/qiujz/p/13439657.html
Copyright © 2011-2022 走看看