理解这两种代理的关键在于代理服务器所代理的对象是什么 , 正向代理代理的是客户端 , 我们需要在客户端进行一些代理的设置 。而反向代理代理的是服务器 , 作为客户端的我们是无法感知到服务器的真实存在的 。
总结起来还是一句话:正向代理代理客户端 , 反向代理代理服务器 。
4、Nginx 反向代理范例:使用 nginx 反向代理 www.123.com 直接跳转到127.0.0.1:8080
①、启动一个 Tomcat , 浏览器地址栏输入 127.0.0.1:8080 , 出现如下界面

文章插图
②、通过修改本地 host 文件 , 将 www.123.com 映射到 127.0.0.1
127.0.0.1 www.123.com将上面代码添加到 windows 的host 文件中 , 该文件位置在:
文章插图
配置完成之后 , 我们便可以通过 www.123.com:8080 访问到第一步出现的 Tomcat初始界面 。
那么如何只需要输入 www.123.com 便可以跳转到 Tomcat初始界面呢?便用到 nginx的反向代理 。
③、在 nginx.conf 配置文件中增加如下配置:
1server {2listen80;3server_namewww.123.com;4 5location / {6proxy_pass http://127.0.0.1:8080;7indexindex.html index.htm index.jsp;8}9} 如上配置 , 我们监听80端口 , 访问域名为www.123.com , 不加端口号时默认为80端口 , 故访问该域名时会跳转到127.0.0.1:8080路径上 。我们在浏览器端输入 www.123.com 结果如下:

文章插图
④、总结
其实这里更贴切地说是通过nginx代理端口 , 原先访问的是8080端口 , 通过nginx代理之后 , 通过80端口就可以访问了 。
5、Nginx 反向代理相关指令介绍①、listen该指令用于配置网络监听 。主要有如下三种配置语法结构:
一、配置监听的IP地址
listen address[:port] [default_server] [setfib=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [deferred][accept_filter=filter] [bind] [ssl];二、配置监听端口listen port[default_server] [setfib=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter][deferred] [bind] [ipv6only=on|off] [ssl]; 三、配置 UNIX Domain Socketlisten unix:path [default_server][backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter][deferred] [bind] [ssl];上面的配置看似比较复杂 , 其实使用起来是比较简单的:1 listen *:80 | *:8080 #监听所有80端口和8080端口2 listenIP_address:port#监听指定的地址和端口号3 listenIP_address#监听指定ip地址所有端口4 listen port#监听该端口的所有IP连接下面分别解释每个选项的具体含义:1、address:IP地址 , 如果是 IPV6地址 , 需要使用中括号[] 括起来 , 比如[fe80::1]等 。
2、port:端口号 , 如果只定义了IP地址 , 没有定义端口号 , 那么就使用80端口 。
3、path:socket文件路径 , 如 var/run/nginx.sock等 。
4、default_server:标识符 , 将此虚拟主机设置为 address:port 的默认主机 。(在 nginx-0.8.21 之前使用的是 default 指令)
5、 setfib=number:Nginx-0.8.44 中使用这个变量监听 socket 关联路由表 , 目前只对 FreeBSD 起作用 , 不常用 。
6、backlog=number:设置监听函数listen()最多允许多少网络连接同时处于挂起状态 , 在 FreeBSD 中默认为 -1,其他平台默认为511.
7、rcvbuf=size:设置监听socket接收缓存区大小 。
8、sndbuf=size:设置监听socket发送缓存区大小 。
9、deferred:标识符 , 将accept()设置为Deferred模式 。
10、accept_filter=filter:设置监听端口对所有请求进行过滤 , 被过滤的内容不能被接收和处理 , 本指令只在 FreeBSD 和.NETBSD 5.0+ 平台下有效 。filter 可以设置为 dataready 或 httpready。
11、bind:标识符 , 使用独立的bind() 处理此address:port , 一般情况下 , 对于端口相同而IP地址不同的多个连接 , Nginx 服务器将只使用一个监听指令 , 并使用 bind() 处理端口相同的所有连接 。
12、ssl:标识符 , 设置会话连接使用 SSL模式进行 , 此标识符和Nginx服务器提供的 HTTPS 服务有关 。
推荐阅读
- 暗黑破坏神3让中国代理不 暗黑2重制版代理
- 古人怎么理发?古代理发吗
- wsl 2安装nginx本地不能访问的问题
- 如何设置网络代理地址 怎么设置代理服务器的IP地址和端口-
- python爬取代理ip Python爬虫代理
- 罚款|提前激活iPhone14每台罚款20万 有直播间真这么干了:相关经销商或被取消代理
- socks5代理怎么配置 国外socks5代理
- 卸载|微软推送Win11 KB5017390更新:反向“升级”删除已有功能
- 旅游|反向度假要火?年轻人去鹤岗旅游了:五星级酒店一晚只要300元
- hr|“我们不招学生会成员”,私企HR反向操作,引得网友一致好评
