跨域解决方案
解决跨域的方法有:JSONP方式解决跨域、CORS方式解决跨域、搭建Node代理服务器解决跨域、Nginx反向代理解决跨域、postMessage方式解决跨域、Websocket方式解决跨域等。
1、JSONP方式解决跨域
jsonp的原理就是利用了script标签不受浏览器同源策略的限制,然后和后端一起配合来解决跨域问题的。
2、CORS方式解决跨域
cors是跨域资源共享,是一种基于HTTP头的机制,该机制通过允许服务器标示除了它自己以外的其他origin(域,协议和端口),使得浏览器允许这些origin访问加载自己的资源。服务端设置了Access-Control-Allow-Origin就开启了CORS,所以这种方式只要后端实现了CORS,就解决跨域问题,前端不需要配置。
3、搭建Node代理服务器解决跨域
因为同源策略是浏览器限制的,所以服务端请求服务器是不受浏览器同源策略的限制的,因此可以搭建一个node服务器来代理访问服务器。
4、Nginx反向代理解决跨域
nginx通过反向代理解决跨域也是利用了服务器请求服务器不受浏览器同源策略的限制实现的。客户端请求nginx服务器,在nginxconf配置文件中配置server监听客户端的请求,然后把location匹配的路径代理到真实的服务器,服务器处理请求后返回数据,nginx再把数据给客户端返回。
5、postMessage方式解决跨域
windowpostMessage()方法可以安全地实现跨源通信,此方法一种受控机制来规避此限制,只要正确的使用,这种方法就很安全。
6、Websocket方式解决跨域
使用Websocket也可以解决跨域问题,因为WebSocket本身不存在跨域问题,所以我们可以利用webSocket来进行非同源之间的通信,WebSocket规范定义了一个在Web浏览器和服务器之间建立“套接字”连接的API。简单来说:客户端和服务器之间存在持久连接,双方可以随时开始发送数据。
方法/步骤
1、依次打开“开始”----->“控制面板”----->“Internet选项”,
2、“Internet选项”在打开后,就会打开关于设置网络连接的“Internet属性”对话框。
3、点击上面选项卡中的“连接”,打开连接功能选项。
4、点击“局域网设置”,就打开“局域网(LAN)设置”对话框,我们主要就是在这里设置代理的相关信息。
5、勾选“为LAN使用代理服务器”,在下面的地址栏后面输入服务器地址,端口后面填写服务器提供上网的端口。
6、点击“高级”按钮,弹出代理服务器的一些特殊设置,在这里可以为各种类型的连接服务设置不同的服务器地址或者端口。
7、在HTTP后面设置服务器IP和端口就是设置HTTP的代理服务器。
8、在FTP后面设置服务器IP和端口就是设置FTP的代理服务器。
9、小编的各种代理连接都是使用相同的服务器和端口,所以就直接勾选“对所有协议均使用相同的代理服务器”。
10、依次点击各个“确定”按钮,这样就完成了代理服务器的配置。
Squid是Linux下最为流行的代理服务器软件,它功能强大,支持对HTTP、FTP、Gopher、SSL、WAIS等协议的代理; 设置简单,只需对配置文件稍稍改动就可使代理服务器运转起来。此外,Squid具有页面缓存功能,它接受用户的下载申请,并自动处理所下载的数据。 前期准备 Squid对硬件的要求是: 内存不应小于128M,硬盘转速越快越好,最好使用服务器专用SCSI硬盘,对CPU的要求不高,400MHz以上即可。笔者所管理的代理服务器是Inter2150,安装了Red Hat Linux 72,安装时就带有Squid。有两块网卡,一块eth0配外部地址(比如211889966),一块eth1配内网地址(比如19216851)。如果安装了Gnome或其他图形界面,就可以在netconfig中给两块网卡配置IP地址,不然的话,可在/etc/sysconfig/network-script路径下更改文件ifcfg-eth0和ifcfg-eth1。 首先编辑ifcfg-eht0,有以下几项: DEVICE=eth0 (表示用哪块网卡) IPADDR=211889966 (设置该网卡的IP地址) NETMASK=255255255252 (设置子网掩码) 同样编辑ifcfg-eth1,然后运行命令network restart就可以使配置生效了。对eth0、eth1进行配置后,可以用ifconfig命令来查看是不是配置成功。 如果服务器只有一张网卡,也不用担心,Linux可以在一块网卡上绑定多个IP地址。在图形界面下配置很简单,不赘述。如果在文本状态下配置,可以将ifcfg-eth0复制并命名为ifcfg-eth0:1,把它完全当成两块网卡来配就可以了。 Squid的安装 1 安装Linux 安装Linux在硬盘分区时要注意,最好不要让系统自己分区,而是手动分区。通常,在Linux系统中有且仅有一个交换分区(在文件系统形式中选择Linux swap),它用做虚拟内存,建议将交换分区的大小设置为内存的两倍。当硬盘的大小超过了8G,要再建立一个128M(稍稍大一点,不会出错)的boot分区,这是为了避免将系统内核文件放到1024磁道以外,如果将boot作为root分区的一个子目录,内核文件就会安装在root分区的任何地方。因为要用做代理服务器,建议再分一个分区“var”,作为Squid的缓冲区,所以根据磁盘大小尽量分配大一点,最后将硬盘的剩余空间全部分给root分区。 2 安装Squid 新手安装Squid,建议在安装Linux时就选中Squid,它并不是默认选中项,而且也不在选择的大类中,要在详细列表中查找。如果没有安装,又不想重装系统,可以从 下载Squid软件。 Squid代理服务器的设置 安装好Squid后几乎就可以用了,用编辑器打开/etc/squid/squidconf文件(以root登录),Squid的配置文件共有125个配置项,但是一般来说,只要修改几个配置项即可。找到“http_access deny all”并改为“http_access allow all”令所有的电脑都能通过代理服务访问互联网资源。其实只要修改该项,Squid服务就可以启动了。 为了更好地控制代理服务器的行为,还有几个可配置项需要考虑: 1 cache_mem: 设置代理服务使用的内存大小,一般推荐为物理内存的三分之一。 2 cache_dir:设定缓存的位置、大小。一般格式如下: cache_dir /var/spool/squid/cache 100 16 256 cache_dir指定cache目录的路径,默认为/var/spool/squid/cache。 /var/spool/squid/cache代表缓存的位置,使用squid -z指令会在这个目录下建立存储交换文件(swap files)的目录。100表示缓存最大为100M,16和256代表一级和二级目录数。实际使用时,100M是不够的,如果硬盘够大,可以增加存储空间,比如:cache_dir /var/spool/squid/cache 2000 16 256。 3 http_port:代理服务使用的端口号,默认为3128,可以使用其他的端口,注意将前面的注释符号“#”去掉。另外,使用端口不能和其他的服务重复,如果使用1024以下的端口,Squid必须以root身份运行。 4 maximum_object_size: 指定Squid可以接收的最大对象的大小。Squid缺省值为4M,可以根据自己的需要进行设定。 启动Squid Squid可以设置为自动启动。运行命令setup,在System services选项中选中Squid。设置后每次重新开机,都会自动执行Squid。 如果是第一次启动,要建立/var/spool/squid下的暂存资料目录,先输入squid -z,再启动Squid(直接运行Squid即可)。 启动Squid后,在另一台Windows电脑上(以Internet Explorer 50为例)运行IE,单击“工具”,接着单击“Internet选项”,再单击“连接”选项卡,选择“局域网设置”。在“局域网设置”窗口中的“地址”处填上Squid服务器的IP地址,在“端口”处填上“3218”(Squid软件默认代理的端口号),确定后退出。接下来,随意浏览一些网站检查Squid的运行情况,也可以查看logs下的accesslog和cachelog,看看代理是否运行正常。
一、下载代理软件TGate。 然后再文件夹中找到这个文件
二、打开TGateexe 设置Http(80)协议端口和Socks(443)协议端口, 然后保存。
三、设置“组名”和允许访问的“IP”,在“用户授权”中, 点击用户并完成设置,设置完成后保存。
4、在不能上网的电脑上 设置
5、 输入 一个网站,看能上网,
更多问题,小鸟云——为您解答!
0条评论