经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库运维 » LinuxShell » 查看文章
【http反向代理】多个域名指向同一个ip的不同网站解决方法
来源:cnblogs  作者:张什么锋  时间:2018/10/9 9:58:20  对本文有异议

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

实现原理:

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

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

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

具体步骤

1. 在Nginx的conf中添加upstream

指向第二个应用的本机地址。

  1. upstream baidu{
  2. server 127.0.0.1:3009;
  3. }

附上原有的第一个应用的upstream。

  1. upstream Ai.baidu{
  2. server 127.0.0.1:3009;
  3. }

2. 在Nginx的conf中添加二级域名主机头80端口的侦听

PS:本例中,要新添加的解析二级域Ai.baidu.com

端口号为80
server_name 精确匹配到二级域名(本例中为Ai.baidu.com。其他规则或www也可以,只要与域名商处解析行为一致即可)
再给conf添加如下1个server:

  1. server {
  2. listen 80;
  3. server_name www.baidu.com;
  4. location / {
  5. proxy_pass http://baidu;
  6. }
  7. error_page 500 502 503 504 /50x.html;
  8. location = /50x.html {
  9. root html;
  10. }
  11. }
  1. server {
  2. listen 80;
  3. server_name Ai.baidu.com;
  4. location / {
  5. proxy_pass http://Ai.baidu;
  6. }
  7. error_page 500 502 503 504 /50x.html;
  8. location = /50x.html {
  9. root html;
  10. }
  11. }
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号