关于nginx的功能--提问未完成

配置listen监听:统一服务访问的ip(ip可以不统一,比如配置0.0.0.0,或者不写,表示nginx服务器上的所有IP)和端口的访问,然后转发给后端,隐藏后端的ip+端口。(协议和端口标准化)

将Nginx和后端部署在不同服务器上,前端用Nginx统一IP+端口监听请求,然后转发给各个后端服务器,可以实现服务器的负载均衡,还能彻底隐藏后端真实IP,可实现内外网隔离。

静态资源高效服务:Nginx服务CSS/JS的性能远高于Node.js、Python、Java,可以减轻后端负担,提升页面加载速度。(问题1:为什么它的性能很高呢?)

配置location URI:特定URI可配置仅允许密码认证+内网,allow/deny IP白名单。

配置allow/deny:拦截外网对特定URI如/admin等的访问,放行特定安全IP如公司内网IP。

配置Basic Auth:防止为授权用户直接看到特定URI路径。

配置limit_req:限流,防止暴力破解。

CDN和WAP集成:可以更灵活集成。(问题2:怎么集成,怎么做到?)

配置统一HTTPS证书:HTTPS请求统一拦截后转发到后端,后端无需再配置HTTPS,所有来自用户的HTTPS请求会被Nginx解析成明文的HTTP请求(proxy_pass),然后发给后端,告诉后端原始请求时HTTPS(proxy_set_header X-Forwarded-Proto $scheme;)。

  Nginx可以监听443 ssl,然后加载Let's Encrypt或者商业证书(用ssl_certificate),配置强TLS协议(用ssl_protocols),设置请求响应安全头用add_header(HSTS、X-Frame-Options、MIME嗅探禁用、CSP等),自动续签证书(配合cerbot),启用HTTP/2、OSCP Staping等高级特性。

 

Serverless/FasS如(AWS Lambda + API Gateway,网关承担Nginx责任),容器化且有Ingress控制器(如Kubernetes中的Ingress-Nginx,本质上还是Nginx)这些情况下无需使用Nginx了。

问题3:Traefik/Caddy是什么?

问题4:Serverless/FasS怎么做?

问题5:Kubernetes中的Ingress-Nginx怎么做?

问题6:如果Nginx代理的后端服务器不在内网,是跨公网的,需要用mTLS或者内网加密(如WireGuard),怎么做?

posted @ 2026-03-19 13:13  曦灰  阅读(23)  评论(0)    收藏  举报