我是靠谱客的博主 忐忑狗,最近开发中收集的这篇文章主要介绍Nginx 单IP绑定多域名配置 顶级域名重定向到www域名Nginx 单IP绑定多域名配置 顶级域名重定向到www域名,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Nginx 单IP绑定多域名配置 顶级域名重定向到www域名


在网站部署中,通常会有多个域名,可以是多个子域名也可以是其它域名,例如我的域名是yddsj.com,有以下域名需要绑定

www.yddsj.com

blog.yddsj.com

bbs.yddsj.com

www.abc.com

且每个域名对应的是一个网站程序,而我们只有一个公网IP的时候应该怎样去解析这么多域名并将他们转发到各自的网站程序呢?


另外,本文讲解的前提是以上所有域名都能解析到你的服务器上的nginx服务器了,且本文为例的yddsj.com都是虚构的域名...


nginx单IP多域名配置

     
    # 博客网站程序路径
    upstream blog {
        server 127.0.0.1:9001;      
    }
     
    # 论坛网站程序路径
    upstream bbs {
        server 127.0.0.1:9002;      
    }
     
    # xx网站程序路径
    upstream abc {
        server 127.0.0.1:9003;      
    }
     
    server {
        listen       80;
        server_name  blog.yddsj.com;  # 博客网站域名
        location / {
            index  index.html index.jsp;    
            proxy_pass  http://blog;    
            proxy_set_header   REMOTE-HOST $remote_addr;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size    100m;
        }
    }
    server {
        listen       80;
        server_name  bbs.yddsj.com;
        location / {
            index  index.html index.php;  # 论坛网站域名  
            proxy_pass  http://bbs;    
            proxy_set_header   REMOTE-HOST $remote_addr;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size    100m;
        }
    }
    server {
        listen       80;
        server_name  www.abc.com;
        location / {
            index  index.html index.php;   # xx网站域名
            proxy_pass  http://abc;    
            proxy_set_header   REMOTE-HOST $remote_addr;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size    100m;
        }
    }


主要是配置一个upstream指定后端代理的网站地址,再配置一个server,指定其中的server_name为你的域名,以及proxy_pass为upstream的名称。


nginx 顶级域名重定向到www域名

至于顶级域名为什么要重定向到www域名,作者在另一片文章中已经提到过,可参考点击打开链接 在文章最后有说明。

例如我要将yddsj.com重定向到www.yddsj.com下则要进行以下配置

    # 主站网站程序路径
    upstream yddsj {
        server 127.0.0.1:81;      
    }
     
    server {
        listen       80;
        server_name  www.yddsj.com yddsj.com;  #  主站网站域名包括www域名和顶级域名
        if ($host = 'yddsj.com' ) {            #  这里的作用就是把访问yddsj.com的请求重定向到www域名下面
            rewrite ^/(.*)$ http://www.yddsj.com/$1 permanent;
        }
        location / {
            index  index.html index.jsp;    
            proxy_pass  http://yddsj;
            proxy_set_header   REMOTE-HOST $remote_addr;
            proxy_set_header   Host $host;
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size    100m;
        }
    }

最后

以上就是忐忑狗为你收集整理的Nginx 单IP绑定多域名配置 顶级域名重定向到www域名Nginx 单IP绑定多域名配置 顶级域名重定向到www域名的全部内容,希望文章能够帮你解决Nginx 单IP绑定多域名配置 顶级域名重定向到www域名Nginx 单IP绑定多域名配置 顶级域名重定向到www域名所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部