1、什么是反向代理
反向代理代理的是服务端
反向代理:(reverse proxy),指的是代理外网用户的请求到内部的指定的服务器,并将数据返回给用户的一种方式
客户端不直接与后端服务器进行通信,而是与反向代理服务器进行通信,隐藏了后端服务器的 IP 地址
2、配置详情
2.1 示例
2.2 配置
server {
listen 80;
server_name 你的域名IP; # 替换成你的域名或IP
# 强制 HTTP 到 HTTPS 的重定向
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name 你的域名IP;
# 证书文件名称
ssl_certificate 你的证书名称;
# 私钥文件名称
ssl_certificate_key 你的证书秘钥;
ssl_session_timeout 5m;
# 请按照以下协议配置
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#charset koi8-r;
#access_log logs/host.access.log main;
#location / {
# root html;
# index index.html index.htm;
#}
location / {
proxy_pass https://xxxx.cn:8083/; # 将请求转发到 8083 端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
}
3、总结
Nginx反向代理是指Nginx作为代理服务器,转发客户端请求到后端的服务器进行处理,客户端并不直接访问后端服务器。以下是Nginx反向代理的一些关键点总结:
3.1. 反向代理基本概念
- 反向代理是指Nginx接收客户端请求,然后将这些请求转发给一个或多个后端服务器(比如应用服务器、数据库等)。
- 反向代理隐藏了后端服务器的细节,客户端只知道Nginx的地址,提升了安全性和负载均衡的功能。
3.2. 反向代理的优点
- 负载均衡:Nginx可以将请求分发到不同的后端服务器上,提高系统的处理能力。
- 安全性:通过反向代理,可以隐藏后端服务器的IP地址,增强系统的安全性。
- 高可用性:可以通过Nginx监控后端服务器的健康状态,确保服务的高可用性。
- 缓存功能:Nginx作为反向代理服务器,还可以缓存响应,减少对后端服务器的压力。
3.3. 反向代理的配置
在Nginx中,反向代理的配置通常使用 proxy_pass
指令,指向后端服务的地址。