Nginx反向代理
反向代理的优点
Nginx反向代理将客户端清酒转发给一个或多个服务器,然后将后端服务器响应返还给客户端。这样大多数常规应用都运行在各自的web服务器上,而Nginx WEB服务器梓提供诸如负载均衡、TLS/SSL 以及特定应用程序所缺乏的加速功能:
负载均衡: 确保后端某个服务器宕机不影响
增加安全: 保护后端服务器不对外暴露
更好的性能: Nginx可以实现更好的静态内容以及URLs分析
简便的日志和审计: 由于集中在Nginx反向代理服务器入口,可以方便实现日志和审计
加密连接: NGINX反向代理https 可以在客户端和Nginx反向代理服务器之间加密通讯,保护数据安全
说明
我在 NGINX反向代理Node.js应用 简单实现了NGINX反向代理。实际上,在很多时候NGINX的反向代理配置非常实用,例如:
在反向代理后面运行Grafana 为 使用Helm 3在Kubernetes集群部署Prometheus和Grafana 通过
NodePort
快速输出为 在 istio 上部署Metallb 构建一个反向代理,使得public网络接口能够将流量转发给内网 Kubernetes 集群上透过 Kubernetes MetalLB 负载均衡 输出的服务 本文
简单的反向代理
在
/etc/nginx/sites-available/
目录下 配置一个基于域名的vhost
配置book-info
:
设置基于域名
vhost
反向代理到后端 在 istio 上部署Metallb 输出的WEB服务upstream book-info {
server 192.168.8.151:80;
}
server {
listen 80;
#listen [::]:80;
server_name book-info book-info.cloud-atlas.io;
location / {
proxy_set_header Host $http_host;
proxy_pass http://book-info;
}
}
在
/etc/nginx/sites-enabled/
为其建立软连接以激活配置:
在
/etc/nginx/sites-enabled/
为其建立软连接以激活配置site=book-info
ln -s /etc/nginx/sites-available/${site} /etc/nginx/sites-enabled/${site}