【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;      
                                }
                        }
相關文章
相關標籤/搜索