一、正反向代理简介
1、正向代理:局域网内的机器借助于代理服务器访问局域网外的网站
这时正向代理的功能:
(1)、增强局域网内部网络安全
(2)、利用正向代理可以堆局域网对外网的访问进行必要的监控和管理
注意:正向代理服务不支持外不对内部网络的请访问求
2、与正向代理相反,如果局域网向外网提供资源,让外网上的其他用户可以访问局域网内的资源,这时候可以设置一个代理服务器,而这个代理服务器它提供服务就叫做反向代理服务器
二、ngx_http_proxy_module模块常见指令解释:
ngxhttpproxymodule模块允许将请求传递给另一个服务器
1、proxy_pass URL;
该指令用于设置被代理服务器的协议、主机名、IP地址和端口等形式。
Context: location, if in location, limit_except
注意:proxy_pass后面的路径不带uri时,其会将location的uri传递给后端主机;
proxy_pass后面的路径是一个uri时,其会将location的uri替换为proxy_pass的uri;
如果location定义其uri时使用了正则表达式的模式,或在if语句或limt_execept中使用proxy_pass指令,则proxy_pass之后必须不能使用uri; 用户请求时传递的uri将直接附加代理到的服务的之后;
2、proxy_set_header field value;
设定发往后端主机的请求报文的请求首部的值;
Context: http, server, location
Field:要更改信息所在的头域
Value:更改的值,支持使用文本、变量或者变量的组合
示例:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
3、proxy_cache_path
定义可用于proxy功能的缓存;Context: http
proxy_cache_path path [levels=levels] [use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size]…
levels:设置在对于path指定目录的第几级hash目录中缓存数据
key_zone:Nginx服务器的缓存索引从简进程在内存中为缓存数据建立索引,用来定义放存缓存索引的内存区域的名称和大小
inactive;表示缓存有效时间
max_size:设置硬盘中缓存数据大大小
4、proxy_cache zone | off;
指明要调用的缓存,或关闭缓存机制;
Context: http, server, location
5、 proxy_cache_key string;
缓存中用于“键”的内容;
默认值:proxy_cache_key $scheme$proxy_host$request_uri;
6、proxy_cache_valid [code …] time;
定义对特定响应码的响应内容的缓存时长;
7、proxy_cache_use_stale
用法:proxy_cache_use_stale error | timeout | invalid_header | updating | http_500 | http_502 | http_503 | http_504 | http_403 | http_404 | off …;
如果Nginx在访问被代理服务器过程中出现被代理服务器无法访问或者访问错误等现象时,Niginx服务器可以使用历史缓存响应客户端的请求,这些数据不一定和被代理服务器上的最新的数据相一致,但对于更新频率不高的后端服务器来事,nginx服务器的该功能在一定程度上能够为客户端提供不间断访问
8、proxy_cache_methods GET | HEAD | POST …;
根据客户端请求报文请求方式,来选着需要缓存的数据
9、proxy_hide_header field;
该指令用于设置nginx服务器在发送响应报文时,隐藏一些头信息
10、proxy_connect_timeout time;
该指令来设定nginx服务器域后端被代理服务器尝试连接的超时时间。默认为60s;最长为75s;
11、proxy_read_timeout time;
该指令设置nginx服务器向后端被代理服务器发出read请求后,等待响应的超时时间
12、proxy_send_timeout time;
该指令设置nginx服务器向后端被代理服务器发出write请求后,等待响应的超时时间
三、ngx_http_headers_module模块
该模块:向由代理服务器响应给客户端的响应报文添加自定义首部,或修改指定首部的值;
1、add_header name value [always];
添加自定义首部;
add_header X-Via $server_addr;
add_header X-Accel $server_name;
2、expires [modified] time;
expires epoch | max | off;
用于定义Expire或Cache-Control首部的值;
四、配置反向代理服务lnamp
实现lnamp: http, 提供wordpress;
拓扑:
一、数据库配置(192.168、109、131)
1、安装数据库mariadb-server
yum install mariadb-server
2、修改配置文件
vim /etc/my.cnf.d/server.cnf
3、启动服务
4、创建数据库(wordpress)并授权用户zq
二、配置后端httpd服务(192.168.109.1)
1、安装包
Yum install httpd php php-mysql php-mbstring php-mcrypt(此包在epel仓库中)
2、定义虚拟主机
3.创建URL目录
并在此目录下下载wordpress包解压
4.创建wordpress包的配置文件
Vim wp-config.php
5、启动服务
Systemctl start httpd.sevice
三、反向代理服务器配置(192.168.109.129)
1、安装包
Yum install nginx
2、定义代理缓存路径
3、配置虚拟主机
Vim /etc/nginx/conf.d/vir.conf
4、启动服务
Systemctl start nginx.service
四、测试
输入http://www.zl.com/wordpress
查看缓存
看一看到能够正常缓存数据,站点配置正常
原创文章,作者:zq,如若转载,请注明出处:http://www.178linux.com/78494