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:功能性:反向代理的主要用途是为多个服务器提供负载均衡、缓存等功能。