1. 程式人生 > >nginx泛解析域名實現多級域名多個域名跳轉

nginx泛解析域名實現多級域名多個域名跳轉

nginx 二級域名

需求如下:

技術分享

由於之前泛解析有上百個域名需要向上圖所示的這種需求,所以需要一個通用方法進行處理。思路如下:

1,首先通過Nginx獲取到所有泛解析的二級子域名

2,通過Nginx的 proxy_set_header 自定義變量獲取請求url主機頭部

3,後端使用程序獲取Nginx傳遞過來的url主機頭,進行跳轉至www.csdn.net/topics*.html

操作如下:

  1. * 泛解析在DNS中解析到Nginx服務器

  2. 添加Nginx配置文件


  3. upstream x {

  4. server 10.0.0.x:6096; 這裏的6096是後端服務,後端程序會通過$subdomain獲取到abc,qedd,等主機頭部,然後進行跳轉


  5. }

  6. server {

  7. server_name ~^(?<subdomain>.+).yourdomain.com$;

  8. listen 80;

  9. access_log logs/testb.access.log main;

  10. error_log logs/testb.error.log;

  11. location = /favicon.ico {

  12. alias /root/org/favicon.ico;

  13. }


  14. error_page 500 502 503 504 /500.html;

  15. location /500.html {

  16. internal;

  17. }

  18. error_page 404 /404.html;

  19. location = /robots.txt {

  20. alias /usr/local/webserver/nginx/conf/robots.txt;

  21. }

  22. location / {

  23. proxy_pass_header Server;

  24. proxy_set_header Host $http_host;

  25. proxy_redirect off;

  26. proxy_set_header X-Real-IP $remote_addr;

  27. proxy_set_header X-Scheme $scheme;

  28. #custom header from upstream server

  29. proxy_set_header DEFINE-REDIRECT $subdomain;

  30. proxy_pass http://x$uri$is_args$args;


  31. }

  32. }





本文出自 “crazy_sir” 博客,請務必保留此出處http://douya.blog.51cto.com/6173221/1949613

nginx泛解析域名實現多級域名多個域名跳轉