Nginx既可以作为反向代理服务器,也可以作为正向代理服务器。它们的区别在于代理的方向和用途。

正向代理是客户端通过代理服务器访问互联网资源,代理服务器代表客户端向互联网服务器请求资源。客户端向代理服务器发送请求,代理服务器再将请求发送给目标服务器,目标服务器将响应返回给代理服务器,代理服务器再将响应返回给客户端。正向代理的作用是隐藏客户端的真实IP地址,保护客户端的隐私,同时可以加速访问速度,缓存常用资源,减少网络带宽的消耗。

反向代理是客户端通过代理服务器访问内部资源,代理服务器代表内部服务器向客户端提供服务。客户端向代理服务器发送请求,代理服务器根据请求的URL将请求转发给内部服务器,内部服务器将响应返回给代理服务器,代理服务器再将响应返回给客户端。反向代理的作用是隐藏内部服务器的真实IP地址,保护服务器的安全,同时可以实现负载均衡,将请求分发到多个服务器上,提高系统的可用性和性能。

 

反向代理

nginx反向代理的配置可以通过以下步骤完成:

安装nginx:如果还没有安装nginx,可以通过包管理器或源代码安装。

配置nginx:打开nginx的配置文件,通常位于/etc/nginx/nginx.conf,添加以下内容:

server {
listen 80;
server_name example.com;

location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}

upstream backend {
server backend_server_ip:backend_server_port;
}
其中,example.com是你的域名,backend_server_ip和backend_server_port是你要代理的后端服务器的IP地址和端口号。

重启nginx:保存配置文件并重启nginx服务,使配置生效。
sudo systemctl restart nginx
完成以上步骤后,nginx就会将所有来自example.com的请求转发到后端服务器。你可以根据需要修改配置文件中的参数,例如更改监听端口、添加SSL支持等

 

正向代理

配置nginx:打开nginx的配置文件/etc/nginx/nginx.conf,在http块中添加以下内容:

server {
listen 80;
server_name example.com;

location / {
proxy_pass http://backend_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
其中,example.com是你的域名,backend_server是你要代理的后端服务器的地址。

重启nginx:完成配置后,使用以下命令重启nginx:

sudo service nginx restart
现在,nginx正向代理已经配置完成。当用户访问example.com时,nginx会将请求转发到backend_server上,并将响应返回给用户

 

posted on 2023-08-25 17:08  bainianminguo  阅读(17)  评论(0)    收藏  举报