Nginx 代理设置
文章类型:nginx
发布者:admin
发布时间:2023-04-17
Nginx是一个高性能的Web服务器,它可以用作正向代理或反向代理
一:正向代理
指客户端通过代理服务器来访问其他服务器资源的过程。当客户端向代理服务器发送请求时,代理服务器会将请求转发给目标服务器,并将响应返回给客户端。
客户端通常不知道自己实际上是在与目标服务器通信,因为所有通信都是通过代理服务器进行的。
正向代理可以用于访问受限制的资源,如在公司内部访问外部网络资源
http {
server {
listen 80;
server_name www.cqhxb.com;
location / {
proxy_pass http://proxy.example.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
二:反向代理
指客户端通过代理服务器来访问服务端的资源。
当客户端向代理服务器发送请求时,代理服务器会根据请求的路径将请求转发给内部的一组服务器,然后将响应返回给客户端。
客户端不知道自己实际上是在与哪个服务器通信,因为所有通信都是通过代理服务器进行的。
反向代理通常用于负载均衡和提高Web应用程序的安全性,因为它可以隐藏内部服务器的细节信息,并可以防止一些攻击
http {
upstream backend {
server_name www.cqhxb.com;
}
server {
listen 80;
server_name www.cqhxb.com;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
三:反向代理常用指令
1:proxy_set_header :再将客户端请求发送给后端服务器之前,更改来自客户端的请求头信息;
2:proxy_connect_timeout :配置 Nginx 与后端代理服务器尝试建立连接的超时时间;
3:proxy_read_timeout :配置 Nginx 与后端服务器发出 read 请求后,等待相应的超时时间;
4:proxy_send_timeout :配置 Nginx 与后端服务器发出 write 请求后,等待相应的超时时间;
5:proxy_redirect :用于修改后端服务器返回的响应头中的 Location 和 Refresh
三:总结
1:安全性:正向代理的客户端能够在隐藏自身信息的同时访问任意网站,不安全,使用反向代理客户端只能通过外网访问代理服务器,用户不知道自己访问的真实服务器,提供了很好的安全保护。
2:功能性:反向代理的主要用途是为多个服务器提供负载均衡、缓存等功能。