正向的无非是用户是清楚知道自己是通过代理服务器去请求目标服务器的。而反向代理则是目标服务器供应商的配置实现,用户是不会知道请求的资源其实并非真实的终极目标。简单说明一下就好,我们这篇文章主要还是说Squid正向代理科学上网。http://218.246.196.46:8080/articles/2017/08/05/1501865744310.html
Squid是很好的代理服务器,但它不能直接翻墙,因为在连接到Squid的过程中,就已经被墙了。所以得把传输的数据先进行加密再传输,这样等于是绕过了防火墙。这里使用的软件就是Stunnel。下面就是实施的过程以及在安装配置过程中可能遇到的问题和解决办法。https://github.com/yuiitsu/Article/blob/master/Other/%E5%8F%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8CCentOS%E7%B3%BB%E7%BB%9F%EF%BC%8C%E4%BD%BF%E7%94%A8Squid%E5%92%8CStunnel%E6%90%AD%E5%BB%BA%E7%BF%BB%E5%A2%99%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1.md
访问过程:
用户设置代理指向B服务器的Stunnel服务监听的端口,访问网站
B服务器的Stunnel会将信息做加密处理,然后发送到A服务器的Stunnel服务上
A服务器的Stunnel会将加密的信息做解密处理,然后发送给A服务器的Squid服务上
A服务器的Squid会向目标网站请求数据,然后将信息返回
来自:https://github.com/yuiitsu/Article/blob/master/Other/%E5%8F%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8CCentOS%E7%B3%BB%E7%BB%9F%EF%BC%8C%E4%BD%BF%E7%94%A8Squid%E5%92%8CStunnel%E6%90%AD%E5%BB%BA%E7%BF%BB%E5%A2%99%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1.md
正向代理与反向代理本质区别是不是就是在于
一个是用户主动的用代理去访问应用服务器
一个是代理服务器调用内部应用服务器
-----
1.什么是正向代理和正向代理服务器?
正向代理就是通常所说的代理,是某台电脑通过一台服务器来上Internet网的这种方式,其中这台电脑就叫客户机,这台服务器就叫正向代理服务器也就是通常所说的代理服务器。在这种方式中,你是主动的,网站是被动的,网站那里不能得到你的真实ip地址。(通俗讲法)
正向代理服务器。它只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器(一般在IE-Internet选项-连接-局域网设置),并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
2.什么是反向代理和反向代理服务器?
反向代理就是网站通过一台服务器发布到公网,供用户访问。用户直接访问那台反向代理服务器,然后通过那台服务器访问到网站。用户无法得到网站的真实IP地址。这样就保护了网站服务器,如果您有台服务器在国内又不想让人找到IP,就可以在国外搭建一台反向代理服务器。一个反向代理服务器将很多网站解析到同一 ip地址上。(通俗讲法)
技术讲法,普通的Web代理服务器是不支持外部对内部网络的访问请求的。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时的代理服务器称为反向代理服务器,对外表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。
反向代理服务器是针对 WEB 服务器设置的,后台 WEB 服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台 WEB 服务器是如何组织架构的。当互联网用户请求 WEB 服务时,DNS 将请求的域名解析为反向代理服务器的 IP 地址,这样 URL 请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台 WEB 服务器交互。利用反向代理服务器减轻了后台 WEB 服务器的负载,提高了访问速度,同时避免了因用户直接与 WEB 服务器通信带来的安全隐患。
Squid 反向代理的实现原理
目前有许多反向代理软件,比较有名的有 Nginx 和 Squid 。其他还包括Socks、Apache、Jigsaw、Delegate等。
Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
Squid 是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持HTTP,HTTPS,FTP 等多种协议,是现在 Unix 系统上使用、最多功能也最完整的一套软体。下面将重点介绍 Squid 反向代理的实现原理和在提高网站性能方面的应用。
客户端请求访问 WEB 服务时,DNS 将访问的域名解析为 Squid 反向代理服务器的 IP 地址,这样客户端的 URL 请求将被发送到反向代理服务器。如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的 WEB 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
如图:
Squid 反向代理一般只缓存可缓冲的数据(比如 html 网页和图片等),而一些 CGI 脚本程序或者 ASP、JSP 之类的动态程序默认不缓存。它根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。有四个最重要 HTTP 头标记:
●Last-Modified: 告诉反向代理页面什么时间被修改
●Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
●Cache-Control: 告诉反向代理页面是否应该被缓冲
●Pragma: 用来包含实现特定的指令,最常用的是 Pragma:no-cache
更多来源:http://www.houkai.com/2009/09/20/reversed-proxy.html
Squid是很好的代理服务器,但它不能直接翻墙,因为在连接到Squid的过程中,就已经被墙了。所以得把传输的数据先进行加密再传输,这样等于是绕过了防火墙。这里使用的软件就是Stunnel。下面就是实施的过程以及在安装配置过程中可能遇到的问题和解决办法。https://github.com/yuiitsu/Article/blob/master/Other/%E5%8F%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8CCentOS%E7%B3%BB%E7%BB%9F%EF%BC%8C%E4%BD%BF%E7%94%A8Squid%E5%92%8CStunnel%E6%90%AD%E5%BB%BA%E7%BF%BB%E5%A2%99%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1.md
访问过程:
用户设置代理指向B服务器的Stunnel服务监听的端口,访问网站
B服务器的Stunnel会将信息做加密处理,然后发送到A服务器的Stunnel服务上
A服务器的Stunnel会将加密的信息做解密处理,然后发送给A服务器的Squid服务上
A服务器的Squid会向目标网站请求数据,然后将信息返回
来自:https://github.com/yuiitsu/Article/blob/master/Other/%E5%8F%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8CCentOS%E7%B3%BB%E7%BB%9F%EF%BC%8C%E4%BD%BF%E7%94%A8Squid%E5%92%8CStunnel%E6%90%AD%E5%BB%BA%E7%BF%BB%E5%A2%99%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1.md
正向代理与反向代理本质区别是不是就是在于
一个是用户主动的用代理去访问应用服务器
一个是代理服务器调用内部应用服务器
-----
1.什么是正向代理和正向代理服务器?
正向代理就是通常所说的代理,是某台电脑通过一台服务器来上Internet网的这种方式,其中这台电脑就叫客户机,这台服务器就叫正向代理服务器也就是通常所说的代理服务器。在这种方式中,你是主动的,网站是被动的,网站那里不能得到你的真实ip地址。(通俗讲法)
正向代理服务器。它只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器(一般在IE-Internet选项-连接-局域网设置),并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
2.什么是反向代理和反向代理服务器?
反向代理就是网站通过一台服务器发布到公网,供用户访问。用户直接访问那台反向代理服务器,然后通过那台服务器访问到网站。用户无法得到网站的真实IP地址。这样就保护了网站服务器,如果您有台服务器在国内又不想让人找到IP,就可以在国外搭建一台反向代理服务器。一个反向代理服务器将很多网站解析到同一 ip地址上。(通俗讲法)
技术讲法,普通的Web代理服务器是不支持外部对内部网络的访问请求的。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时的代理服务器称为反向代理服务器,对外表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。
反向代理服务器是针对 WEB 服务器设置的,后台 WEB 服务器对互联网用户是透明的,用户只能看到反向代理服务器的地址,不清楚后台 WEB 服务器是如何组织架构的。当互联网用户请求 WEB 服务时,DNS 将请求的域名解析为反向代理服务器的 IP 地址,这样 URL 请求将被发送到反向代理服务器,由反向代理服务器负责处理用户的请求与应答、与后台 WEB 服务器交互。利用反向代理服务器减轻了后台 WEB 服务器的负载,提高了访问速度,同时避免了因用户直接与 WEB 服务器通信带来的安全隐患。
Squid 反向代理的实现原理
目前有许多反向代理软件,比较有名的有 Nginx 和 Squid 。其他还包括Socks、Apache、Jigsaw、Delegate等。
Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
Squid 是由美国政府大力资助的一项研究计划,其目的为解决网络带宽不足的问题,支持HTTP,HTTPS,FTP 等多种协议,是现在 Unix 系统上使用、最多功能也最完整的一套软体。下面将重点介绍 Squid 反向代理的实现原理和在提高网站性能方面的应用。
客户端请求访问 WEB 服务时,DNS 将访问的域名解析为 Squid 反向代理服务器的 IP 地址,这样客户端的 URL 请求将被发送到反向代理服务器。如果 Squid 反向代理服务器中缓存了该请求的资源,则将该请求的资源直接返回给客户端,否则反向代理服务器将向后台的 WEB 服务器请求资源,然后将请求的应答返回给客户端,同时也将该应答缓存在本地,供下一个请求者使用。
如图:
Squid 反向代理一般只缓存可缓冲的数据(比如 html 网页和图片等),而一些 CGI 脚本程序或者 ASP、JSP 之类的动态程序默认不缓存。它根据从 WEB 服务器返回的 HTTP 头标记来缓冲静态页面。有四个最重要 HTTP 头标记:
●Last-Modified: 告诉反向代理页面什么时间被修改
●Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
●Cache-Control: 告诉反向代理页面是否应该被缓冲
●Pragma: 用来包含实现特定的指令,最常用的是 Pragma:no-cache
更多来源:http://www.houkai.com/2009/09/20/reversed-proxy.html
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/3115/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2022-11-10 23:44
评论列表