Nginx的正向与反向代理.docx
- 文档编号:13866725
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:12
- 大小:748.36KB
Nginx的正向与反向代理.docx
《Nginx的正向与反向代理.docx》由会员分享,可在线阅读,更多相关《Nginx的正向与反向代理.docx(12页珍藏版)》请在冰点文库上搜索。
Nginx的正向与反向代理
一、正向代理
正向代理:
你可以这样理解,就是把局域网以外的Internet想象成一个外网世界,那么当我们局域网中的客户端设备要访问局域网以外的Internet时,需在客户端浏览器中配置代理服务器,然后通过代理服务器来进行访问,将访问到的局域网以外的Internet网站内容返回给客户端,而不是通过局域网中的客户端设备直接访问到局域网以外的Internet网站中,这种代理服务称之为:
正向代理。
正向代理的用途:
∙访问原来无法访问的资源;
∙可做缓存,加速访问资源;
∙对客户端访问授权,上网进行认证;
∙代理可以记录用户访问记录等,且对外隐藏用户信息;
二、反向代理
反向代理:
无需在客户端进行配置即可访问,我们只需要将请求发送给反向代理服务器,然后由反向代理服务器去选择要访问的目标服务器获取数据后,在返回给客户端。
这里你可以这样理解:
反向代理服务器和目标服务器对外访问的就是一台服务器,知道的是反向代理服务器地址,其实隐藏了真实服务器的IP地址, 这种代理服务称之为:
反向代理。
反向代理的用途:
∙保证内网安全,通常将反向代理作为公网访问地址,Web服务器是内网;
∙负载均衡,通过反向代理服务器来优化网站的负载;
三、正向代理配置实操
在Nginx服务器上,修改nginx.conf配置文件,配置到一个server块中,如下代码块中的第35行,在该server块中,server_name指令,不要设置虚拟主机的名称和IP,按默认的即可,而resolver是必须要配置的,如没有该指令,Nginx将无法处理接收到的IP地址,其次,Nginx代理服务不支持正向代理HTTPS站点。
重启Nginx服务,关闭防火墙和SELINUX。
在客户端设备上进行配置代理服务器地址和端口号,必须与上述Nginx服务器配置文件的配置相符,这样就可以通过Nginx的正向代理进行访问代理服务器能访问到的资源了。
进行验证:
在客户端浏览器中输入Nginx服务器地址即可;
四、反向代理前期准备工作实操
实现效果:
通过客户端,在浏览器地址栏中输入Nginx服务器地址,即可访问Tomcat页面。
准备工作
1、 在Nginx服务器上安装Tomcat,使用默认端口:
8080,解压压缩包,进入到Tomcat的bin目录下,执行./startup.sh命令启动Tomcat服务;
2、 添加对外开放端口,保存配置并进行查看;
3、 通过Windows客户端设备浏览器进行访问Tomcat服务;
首先,在安装Tomcat前,需要一个JDK的环境,那么我们需要在Nginx服务器上查看JDK是否有存在,如有可先用系统自带的JDK,如不合适可以在手动安装一个。
解压Tomcat压缩包,在bin目录下,执行startup.sh的文件,启动Tomcat;
进入到日志文件中,查看启动效果;
在Linux环境下,其实并不是所有端口都是开放的,如需添加开放端口,可执行如下命令:
在客户端设备上进行验证;
五、反向代理配置操作案例
(一)
实现效果
准备工作
1、 在Windows客户端的Host文件中配置域名和IP的对应关系;
在Windows中C:
\Windows\System32\drivers\etc路径下找到Hosts文件,通过本地以管理员身份打开记事本,找到Hosts文件的路径,进行添加域名和IP;
添加完毕后,保存,切记不要是.txt格式的文件,直接替换掉原有的Hosts文件即可;
除Windows客户端配置外,Nginx服务器也需要配置;
添加环境变量
2、 在Nginx进行请求转发的反向代理配置,并在末尾行添加includevhost/*.conf;
在/usr/local/nginx/conf/目录下,创建vhost目录,并在该目录下创建tomcat.conf,并添加如下配置;
在Windows客户端进行访问域名验证;
六、反向代理配置操作案例
(二)
实现效果
使用Nginx反向代理,根据所访问的路径跳转至不同端口的服务中。
Nginx监听端口为:
9001
准备工作
1、 准备2台Tomcat服务器,分别为8080和8081端口;
在/root目录下创建两个Tomcat目录;
将apache-tomcat-7.0.70.tar.gz压缩包分别cp到两个目录中;
查看Tomcat进程
将原有的Tomcat服务kill掉,并进行查看是否已经停止;
修改tomcat8080的配置文件,如下;
启动tomcat8080和tomcat8081的服务;
验证
在客户端浏览器地址栏中输入查看页面结果;
Tomcat8080创建文件夹和测试页面
Tomcat8081创建文件夹和测试页面
2、 配置反向代理至Nginx服务器nginx.conf配置文件;
location配置指令说明:
用法:
用于匹配URI;
语法格式:
∙=:
用于不含正则表达式的URI前,要求请求字符串与URI匹配,如匹配成功,将停止向下搜索并处理该请求;
∙~:
用于表示URI包含正则表达式,并区分大小写;
∙~*:
用于表示URI包含正则表达式,不区分大小写;
∙^~:
用于不含正则表达式的URI前,需Nginx服务器找到标识URI和请求字符串匹配度高的location后,立即使用此location处理请求,不再使用location块中的正则URI的请求字符串做匹配;
如果URI包含正则表达式,则必须要有~或~*标识。
编辑防火墙配置文件,添加对外开放端口8080、8081、9001;
重启防火墙,并进行查看;
最后,重启Nginx服务,或重新加载配置文件;
七、常见问题
当重启Nginx服务时,出现如下报错现象:
nginx:
[emerg] bind() to 0.0.0.0:
80 failed (98:
Address already in use)
解决办法:
当出现这种错误时,意味着80端口被占用了,执行如下命令,将进程杀死后,启动Nginx。
# fuser -k 80/tcp
# ./nginx
总结
通过本篇文章,介绍了什么是正向代理和反向代理、正向代理和反向代理的用途、正向代理配置实操、反向代理前期准备工作实操、反向代理配置操作案例
(一):
通过在Windows客户端设备修改Hosts文件,添加域名及IP,Nginx服务器上配置转发反向代理,客户端通过访问Nginx服务器的域名自动跳转至Tomcat的主页面中,反向代理配置操作案例
(二):
使用Nginx反向代理,根据所访问的路径跳转至不同端口的服务中等;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Nginx 正向 反向 代理