【http反向代理】多个域名指向同一个ip的不同网站解决方法
一个服务器需要挂载多个项目【重点是都能通过域名访问】
实现原理:
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
指向第二个应用的本机地址。
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;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!