集群

反代理及相关知识

1.代理

代理服务器Proxy Server:存在于会话层,起到防火墙的作用,常用在internet国际互联网和LAN局域网之间的连接。
代理服务器的功能:
1.突破自身IP访问限制,访问国外站点。
2.访问一些单位或团体内部资源,如某大学FTP(前提是该代理地址在该资源 的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。
3.突破中国电信的IP封锁:中国电信用户有很多网站是被限制访问的,这种限制是人为的,不同Serve对地址的封锁是不同的。所以不能访问时可以换一个国外的代理服务器试试。
4.提高访问速度:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。
5.隐藏真实IP:上网者也可以通过这种方法隐藏自己的IP,免受攻击。

2.正向代理

正向代理服务器位于客户端服务器之间,为了向服务器获取数据,客户端要向代理服务器发送一个请求,并指定目标服务器,代理服务器将目标服务器返回的数据转交给客户端。
常见例子:VPN
Q:什么是VPN?
当我们的电脑接入VPN后,我们访问网站的ip会变成VPN服务器的公网IP,我们请求或者接受的任何数据都会通过VPN的服务器传入本机中。

3.反向代理

正向代理和反向代理的区别:正向代理代理客户端,反向代理代理服务器

4. Ngnix 反向代理

/etc/init.d/nginx start/stop/reload
nginx -t #检查nginx.conf配置文件是否出现问题
systemctl status nginx.service #查看错误原因

ngnix配置文件详解

存放路径:/etc/nginx/nginx.conf
nginx配置文件结构:nginx.conf由多个块构成,最外面的块是main,main包含events和http,http包含多个upstream和多个server,server又包含多个location。

main(全局设置):设置的指令将影响其他所有设置;
server(虚拟主机设置):指令主要用于指定主机和端口;
upstream(负载均衡服务器设置):指令主要用于负载均衡,设置一系列的后端服务器;
location(URL匹配特定位置的设置):用于匹配网页位置。

四者之间的关系:server继承main,location继承server,upstream既不会继承其他设置也不会被继承。

1)虚拟主机

虚拟主机是用来映射网站目录和网站代码文件夹的关系,通过server配置,每一个server表示一个虚拟主机。

#www.domain1.com对应的虚拟主机
server{ 
	listem 80;
	server_name www.domain1.com;
	access_log logs/domain1.access.log main;
	location / { 
		index index.html;
		root /var/www/domain1.com/htdocs;
	}
}

负载均衡算法

  1. Ip hash算法
    对用户请求的ip进行hash操作,根据hash结果将同一个客户端ip请求分发给同一台服务器进行处理,可以解决session不共享的问题。

修改Nginx的配置文件

#进入nginx的配置文件  nginx.conf
#在main中添加以下代码
upstream luckyDog{  #后端负载均衡集群 名称设置为luckyDog
	#ip_hash    
	server 192.168.43.**:8080 weight=1;  #weight越大 被访问的机会就越大,加权轮询算法;当weight都等于1,和未设置时均为轮询算法。
	server 192.168.43.**:8080 weight=1;
}

server {
	listen 80;
	server_name localhost;
	location \ {  #将所有访问localhost的流量代理到后端的luckyDog集群里
		proxy_pass http://luckyDog;
		proxy_set_header Host $host;
		index index.html index.html;
	}
}

#保存后退出
#使用命令   nginx -t  测试nginx.conf文件是否有问题
#没有问题后可以启动nginx服务器

5.tomcat

遇到的问题汇总

1.解决nginx启动报nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

原因:80端口被nginx占用
使用:sudo fuser -k 80/tcp

2.防火墙操作命令

开启禁用 sudo ufw allow/deny 或者 enable|disable
查看状态 sudo ufw status
打开关闭某个端口 sudo ufw allow 22/tcp (ssh端口)
sudo ufw delete allow 53
设置默认策略 (比如 “mostly open” vs “mostly closed”) sudo ufw default allow|deny

本文地址:https://blog.csdn.net/qq_36930921/article/details/110794712