引言
正向代理
- 正向代理服务是由客户端设立的
- 客户端了解代理服务器和目标服务器都是谁
- 帮助咱们实现突破访问权限,提高访问的速度,对目标服务器隐藏客户端的ip地址
反向代理
- 反向代理服务器是配置在服务端的
- 客户端不知道访问的到底是哪一台服务器
- 达到负载均衡,并且可以隐藏服务器真正的ip地址
启动服务器
反向代理
配置反向代理
vi /usr/local/docker/docker-nginx/nginx/conf.d/default.conf
server {
listen 80;
listen [::]:80;
server_name localhost;
# 基于反向代理通用匹配规则访问Netty服务器
location / {
proxy_pass http://192.168.233.111:8080/;
}
}
配置文件重新加载
如果在运行的过程中需要调整配置,可以使用如下两个命令重新加载配置文件
- 检查配置文件
docker exec -it nginx service nginx check-reload
- 重新加载配置文件
docker exec -it nginx service nginx reload
没有代理直接访问
使用Nginx反向代理
附录
常用的配置规则
优先级
(location = ) > (location /xxx/yyy/zzz) > (location ^~) > (location ~,~*) > (location /起始路径) > (location /)
精准匹配
location = / {
#精准匹配,主机名后面不能带能和字符串
#例如www.baidu.com不能是www.baidu.com/id=xxx
}
通用匹配
location /xxx {
#匹配所有以/xxx开头的路径
#例如127.0.0.1:8080/xxx xxx可以为空,为空则和=匹配一样
}
正则匹配
location ~ /xxx {
#匹配所有以/xxx开头的路径
}
匹配开头路径
location ^~ /xxx/xx {
#匹配所有以/xxx/xx开头的路径
}
匹配结尾路径
location ~* \.(gif/jpg/png)$ {
#匹配以.gif、.jpg或者.png结尾的路径
}