正向代理
A同学在大众创业、万众创新的大时代背景下开启他的创业之路,目前他遇到的最大的一个问题就是启动资金,于是他决定去找马云爸爸借钱,可想而知,最后碰一鼻子灰回来了,情急之下,他想到一个办法,找关系开后门,经过一番消息打探,原来A同学的大学老师王老师是马云的同学,于是A同学找到王老师,托王老师帮忙去马云那借500万过来,当然最后事成了。不过马云并不知道这钱是A同学借的,马云是借给王老师的,最后由王老师转交给A同学。这里的王老师在这个过程中扮演了一个非常关键的角色,就是代理,也可以说是正向代理,王老师代替A同学办这件事,这个过程中,真正借钱的人是谁,马云是不知道的,这点非常关键。
反向代理
大家都有过这样的经历,拨打10086客服电话,可能一个地区的10086客服有几个或者几十个,你永远都不需要关心在电话那头的是哪一个,叫什么,男的,还是女的,漂亮的还是帅气的,你都不关心,你关心的是你的问题能不能得到专业的解答,你只需要拨通了10086的总机号码,电话那头总会有人会回答你,只是有时慢有时快而已。那么这里的10086总机号码就是我们说的反向代理。客户不知道真正提供服务人的是谁。
反向代理隐藏了真实的服务端,当我们请求 www.baidu.com 的时候,就像拨打10086一样,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。Nginx就是性能非常好的反向代理服务器,用来做负载均衡。
配置反向代理
准备一台代理服务器
安装并且配置好Nginx
文章目录
1.Nginx代理服务概述[flag]
正向代理:类似于VPN功能[代理上网|翻墙]--> 网关指向代理服务器 反向代理:客户端 -访问-> 代理 --> web服务器
1.1Nginx代理配置语法
推荐写法
server{
listen 80;
server_name blog.oldboy.com;
location / {
proxy_pass http://172.16.1.7;
include proxy_params;
}
}
server{
listen 80;
server_name edu.oldboy.com;
location / {
proxy_pass http://172.16.1.7;
include proxy_params;
}
}
1.2Nginx反向代理示例[flag
-
角色 外网IP(NAT) 内网IP(LAN) 主机名 Proxy eth0:10.0.0.5 eth1:172.16.1.5 lb01 web01 eth0:10.0.0.7 eth1:172.16.1.7 web01
1.web01服务器:
配置一个网站,监听在8080,仅运行172网段能访问
[root@web01 ~]# cd /etc/nginx/conf.d/
[root@web01 conf.d]# vim web.conf
server {
listen 8080;
server_name 172.16.1.7;
location / {
root /code_8080;
index index.html;
deny 10.0.0.0/24;
allow all;
}
}
创建web1的基础环境文件
[root@web01 conf.d]# mkdir /code_8080
[root@web01 conf.d]# echo "web01-7...." >/code_8080/index.html
[root@web01 conf.d]# systemctl restart nginx2.proxy代理服务器:
开始安装并配置代理服务
配置一个代理,监听在80,让10.0.0.1客户端,能够通过代理访问到后端的 172.16.1.7这个网站
[root@lb01 ~]# cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
1.安装
[root@lb01 ~]# yum install nginx -y
2.配置
[root@lb01 ~]# cd /etc/nginx/conf.d/
[root@lb01 conf.d]# rm -f default.conf
[root@lb01 conf.d]# cat proxy_web_node1.conf
server {
listen 80;
server_name nginx.oldboy.com;
location / {
proxy_pass http://172.16.1.7:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
##启动nginx并加入开机自启动
[root@lb01 conf.d]# systemctl enable nginx
[root@lb01 conf.d]# systemctl start nginx
3.优化下proxy的配置
[root@lb01 conf.d]# cat /etc/nginx/proxy_params
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;
编写web01的测试网页文件
[root@lb01 conf.d]# cat proxy_web_node1.conf
server {
listen 80;
server_name nginx.oldboy.com;
location / {
proxy_pass http://172.16.1.7:8080;
include proxy_params;
}
}
###检查语法并重启
[root@lb01 conf.d]# nginx -t
[root@lb01 conf.d]# nginx -s reload
3.配置hosts解析
proxy • 10.0.0.5 • 172.16.1.5 web • 172.16.1.7 如果出现故障 • 1.直接访问web测试是否没任何问题 • 2.检查proxy代理服务器是否有问题[没有携带头部信息|proxy_pass 写错了] 代理缺点: • 只能代理转发一台服务器 • proxy web 172.16.1.7 blog.oldboy.com -》 blog.oldboy.com • 2.Nginx负载均衡 • 2.1Nginx负载均衡按层划分 • 2.1Nginx负载均衡配置场景
最新评论
# 这只是一个创建远程登录并授权的语句、仅作为记录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Fit2cloud!' WITH GRANT OPTION;
当MGR集群初始化结束后,需要开启MGR集群自启动(需要有一台节点是自动开启引导) loose-group_replication_start_on_boot = ON #设置节点是否在启动时自动启动 MGR 集群 loose-group_replication_bootstrap_group = ON #设置节点是否作为初始引导节点启动集群
密码:blog.sirliu.com
本内容密码:blog.sirliu.com 最新整理的文章在这里喔:https://blog.sirliu.com/2018/11/shell_lian_xi_ti.html