使用 Nginx 反向代理 HTTPS 网站

💡 原文中文,约3300字,阅读约需8分钟。
📝

内容提要

本文介绍了使用Nginx反向代理HTTPS网站的方法,解决了502 Bad Gateway错误和TLS握手报错的问题,并提供了优化配置建议。

🎯

关键要点

  • Nginx 常用于反向代理 HTTPS 网站,配置相对简单。

  • 配置示例中使用了 proxy_pass 指令来代理请求。

  • 502 Bad Gateway 错误通常是由于无法连接上游服务器导致的。

  • TLS 握手错误可能是因为未传递 SNI 扩展信息,需使用 proxy_ssl_server_name 指令。

  • 为了避免搜索引擎收录镜像网站,需在返回内容中添加 canonical 标签。

  • 使用 ngx_http_sub_module 可以实现内容替换,需安装相关模块。

  • 浏览器的 Accept-Encoding 头可能影响替换操作,需去掉该头以确保替换生效。

  • 可以通过 X-Forwarded-For 传递客户端真实地址,提升代理专业性。

  • sub_filter_once 指令可确保只替换一次,避免重复添加标签。

  • sub_filter_last_modified 指令可保持源站的 Last-Modified 头信息不变。

  • 谷歌支持在响应 Header 中返回 canonical 链接,使用 ngx_http_headers_module 可直接添加。

➡️

继续阅读