为什么需要反向代理
示例
- 我使用了两台
ubuntu
的虚拟机来完成今天这测试 - 示例内容:利用
nginx
将请求转发到apache
服务器 - 示例简介:
首先A代表的我的nginx的服务器,用来做反向代理,另一台服务器使用apache搭建的服务,我利用nginx服务器将请求转发到另一台服务器
- 本机先给A服务器做一个虚拟域名,在
/etc/hosts
,里面添加域名 ip
,然后用本机去ping
你做的虚拟域名,保证这个能互相连通,再去进行其他操作。
配置nginx服务器
- 安装一个
nginx
服务器
sudo apt-get install nginx
不使用default
的网站配置
去/etc/nginx
配置那 sites-available
cp default
文件改名为你自己想要配置的名称,将default
里面监听的端口注释掉
到sites-enabled
做一下软连接,将该文件链接进来
ln -s /etc/nginx/sites-available/xxx /etc/nginx/sites-enabled/xxx
然后nginx -s reload
重启一下服务器 之后去使用本级去访问一下配置的域名 访问成功即可
配置apache服务器
- 使用
ubuntu
一键安装lamp
环境
sudo apt-get install tasksel 先安装这个工具 之后再去安装lamp sudo tasksel install lamp-server 脑残式安装 sudo tasksel remove lamp-server 这是卸载 不想要就卸载掉了
访问80端口试试
Apache2 Ubuntu Default Page
页面说明你的环境搭建成功了
每台服务器都设置一个域名访问 该域名就是你在本机 的虚拟域名 都用域名去访问一下 能看到自己设定的内容就算成功
最后去配置一下nginx
服务配置文件就可以了 访问出现你的自定义内容 成功
往nginx.conf
里面的location
里面添加
proxy_set_header X-Real-IP $remote_addr; 设置使用用户真实ip转发到apache 不设置的话apache日志存的访问都是nginx的ip 都是使用nginx转发过去的 proxy_set_header Host $http_host; 不设置个域名转发的话 转发到的都是你服务器的ip地址 如果你另一台服务器上配置了虚拟主机就需要了 proxy_pass http://192.168.31.211:80; 需要转发的地址 也就是apache服务器 client_max_body_size 35m; proxy_http_version 1.1; // 如果要使用长连接 需要配置这个 我们这里就不配置了 # proxy_set header Upgrade $http upgrade; # proxy_set header Connection "upgrade";
·
本文为作者原创,手码不易,允许转载,转载后请以链接形式说明文章出处。