Nginx的正向代理和反向代理
1.nginx代理:
(1)Nginx出现的早期就是作为一个高性能的http、反向代理的web服务器。
(2)同时它也提供了IMAP/POP3/SMTP服务,也就是电子邮件代理服务器。
(3)它的特点就是占用内存少,并发能力强。
(4)代理:就是代替管理,也可以理解为一个中转站。
2.正向代理 配置实例(代理客户端)
server {
listen 80; # 正向代理服务的端口
resolver 8.8.8.8; # 指定DNS解析服务器
location / {
proxy_pass http://$http_host$request_uri; # 将请求转发到后端服务器
proxy_set_header Host $http_host; # 转发原始的Host头到后端服务器
proxy_buffers 256 4k; # 代理缓冲区设置
proxy_max_temp_file_size 0; # 禁止创建临时文件
}
}
3.反向代理配置实例(代理服务端)
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
listen 80; # 监听的端口
location / {
proxy_pass http://backend; # 转发请求到上游服务器组
proxy_set_header Host $host; # 转发原始的Host头到上游服务器
proxy_buffers 256 4k; # 代理缓冲区设置
proxy_max_temp_file_size 0; # 禁止创建临时文件
}
}
4.正向代理和反向代理的区别:
(1)正向代理中,客户端知道真正的服务端IP是什么,而服务端并不知真正的道客户端IP是什么;
(2)反向代理中,客户端不知道真正的服务端IP是什么,服务端也不知道真正的道客户端IP是什么;
(3)正向代理一般用来解决访问限制问题;
(4)反向代理一般用来提供负载均衡、安全防护等作用
5.nginx配置位置(通常Nginx 默认的配置文件是在安装目录下的 conf 目录下)
不同版本位置不同,也有在/etc/nginx/nginx.conf,修改配置,记得重启Nginx服务。
http块这部分是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。需要注意的是:http 块也可以包括 http 全局块、server 块;
6.Nginx服务常用扩展功能:
(1).Include优化配置文件:Nginx允许使用include指令将配置文件拆分为多个部分,以便更好地组织和管理配置。通过include,可以将共享的配置片段放入单独的文件中,并在主配置文件中包含它们,提高配置文件的可读性和维护性。
(2).别名配置:Nginx的别名配置指定了一个虚拟路径对应的真实路径,用于访问静态资源。它可以将URL的一部分与文件系统路径分离,提供更友好的URL,并隐藏真实的文件路径。
(3).状态模块(Stub_status):Nginx的状态模块提供了一个简单的HTTP接口,用于获取Nginx服务器的运行状态信息,如请求数、连接数、处理时间等。这对于监控和性能调优非常有用
在nginx.config文件以加入include 另一个http块的.conf文件。