首页 > 运营 > 帮助中心 > 正文

ginx反向代理多个域名指向同一个ip的不同网站的方法

2020-07-28 15:26:22
字体:
来源:转载
供稿:网友
  一个服务器需要挂载多个项目【重点是都能通过域名访问】
  实现原理:
  1.当前市面上看到的一些服务器,开放的端口一般都要求为 '80' 端口 所以80端口成了商用端口
  2.域名的绑定是绑定一个一般是绑定你的服务器ip地址
  3.使用服务器的80端口拦截访问的域名是什么跳转至服务器的其他
  举例
  只有一台服务器,一个IP;
  服务器上有多个应用运行在不同的端口。例如:
  127.0.0.1:4000 运行着一个博客应用
  127.0.0.1:3009 运行着一个微信公众号机器人的后台希望不同的域名,都解析到该IP的80端口,但是转发到不同的端口去:
  www.baidu.com 能访问到127.0.0.1:4000的应用
  新增一个Ai.baidu.com 能访问到127.0.0.1:3009的微信后台(微信要求绑定服务器时绑定的是80端口)
  这里给出 Nginx 的几个命令 更改之后需要重启你的Nginx 反向代理!
  (1)vim编辑nginx的nginx.conf(反向代理配置文件)
  sudo vi /etc/nginx/nginx.conf
  (2)使用下面命令安装nginx
  yum install nginx
  (3)启动Nginx
  service nginx start
  或
  systemctl start nginx.service
  (4)重启nginx
  service nginx restart
  具体步骤
  1. 在Nginx的conf中添加upstream
  指向第二个应用的本机地址。
  upstream baidu{
  server 127.0.0.1:3009;
  }
  附上原有的第一个应用的upstream。
  upstream Ai.baidu{
  server 127.0.0.1:3009;
  }
  2. 在Nginx的conf中添加二级域名主机头80端口的侦听
  PS:本例中,要新添加的解析二级域Ai.baidu.com
  端口号为80
  server_name 精确匹配到二级域名(本例中为Ai.baidu.com。其他规则或www也可以,只要与域名商处解析行为一致即可)
  再给conf添加如下1个server:
  server {
                              listen      80;      
                              server_name www.baidu.com;      
                              location / {      
                                          proxy_pass http://baidu;      
                              }      
                              error_page  500 502 503 504  /50x.html;    
                              location = /50x.html {        
                                              root  html;      
                              }
                        }
 
            server {      
                              listen      80;      
                              server_name Ai.baidu.com;      
                              location / {      
                                      proxy_pass http://Ai.baidu;      
                              }      
                              error_page  500 502 503 504  /50x.html;    
                              location = /50x.html {        
                                          root  html;      
                                }
                        }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表