【http反向代理】多个域名指向同一个ip的不一样网站解决方法

一个服务器须要挂载多个项目【重点是都能经过域名访问】

实现原理:

1.当前市面上看到的一些服务器,开放的端口通常都要求为 '80' 端口 因此80端口成了商用端口html

2.域名的绑定是绑定一个通常是绑定你的服务器ip地址nginx

3.使用服务器的80端口拦截访问的域名是什么跳转至服务器的其余vim

举例

  • 只有一台服务器,一个IP;服务器

  • 服务器上有多个应用运行在不一样的端口。例如:微信

  • 127.0.0.1:4000 运行着一个博客应用代理

  • 127.0.0.1:3009 运行着一个微信公众号机器人的后台但愿不一样的域名,都解析到该IP的80端口,可是转发到不一样的端口去:rest

  • www.baidu.com 能访问到127.0.0.1:4000的应用code

  • 新增一个Ai.baidu.com 能访问到127.0.0.1:3009的微信后台(微信要求绑定服务器时绑定的是80端口)server

这里给出 Nginx 的几个命令 更改以后须要重启你的Nginx 反向代理!

(1)vim编辑nginx的nginx.conf(反向代理配置文件)htm

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

VIM简单的编辑保存退出操做

查找nginx安装的路径以及相关安装操做命令

具体步骤

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;      
                                }
                        }
相关文章
相关标签/搜索