Anduin Xue
Anduin Xue

Anduin's Tech Blog

Reverse Proxy


CaddyV2 tips and examples (How to correctly get user's IP address after a reverse proxy)

Caddy V2作为现代反向代理工具展现了极强的可定制性与场景适配能力文章通过编译带有Proxy Protocol插件的自定义Caddy版本揭示了如何在FRP等隧道代理后精准获取用户真实IP地址这一核心难题同时展示了从静态文件托管到动态负载均衡的12种典型配置方案包括如何通过header操作实现安全加固如何结合IP白名单与路径匹配进行精细化访问控制以及如何利用基础认证与健康检查构建多层防护体系值得注意的是当反向代理链涉及多层嵌套时配置的允许规则与超时参数往往成为系统稳定性的关键变量文章尤其值得关注的创新点在于将Caddy的模块化特性与实际网络拓扑深度结合例如通过cookie-based负载均衡策略实现会话保持或在HTTPS跳转时自动移除潜在风险头字段这种将协议细节与安全策略有机融合的实践思路值得深入思考当面对混合云环境或混合网络架构时如何设计既能满足性能要求又能保证可观测性的反向代理方案或许正是本文抛砖引玉的价值所在--Qwen3

Reverse Proxy Linux Ubuntu Proxy FRP Caddy CaddyV2 IP Address Proxy Protocol

Creating a proxy to another URL with ASP.NET Core

本文介绍了一种在ASP.NET Core中实现HTTP代理的轻量级方案通过扩展方法将HttpContext转换为可重用的HttpRequestMessage并构建完整的请求转发与响应处理链。文章重点展示了两个核心方法CreateProxyHttpRequest与CopyProxyHttpResponse的实现逻辑:前者通过解析原始请求方法处理流式数据并复制请求头信息构建目标请求对象后者则通过处理响应状态码头信息及响应体实现透明返回。这种设计允许开发者在现有项目中灵活实现请求代理功能而无需部署独立的代理服务器。值得注意的是实现过程中针对不同HTTP方法的处理差异以及头信息的精细拷贝策略都体现了对HTTP协议的深入理解。当访问特定路由时请求将被代理至目标URL(如示例中的google.com)并保持浏览器端的无感知交互。这种技术方案为API调试中间件开发等场景提供了新的可能性但同时也引发思考:如何在实际项目中平衡代理功能的灵活性与安全性?如何处理更复杂的路由规则与身份验证需求?当请求链延长时如何优化性能瓶颈?这些问题都值得开发者结合具体场景深入探索与实践。--Qwen3

ASP.NET Core C# Reverse Proxy Web Proxy HTTP Proxy

Use IIS or Azure App Service as a reverse proxy

这篇文章探讨了如何利用IIS或Azure App Service构建反向代理的实践路径,通过Aiursoft.IO案例展示了从零到实现反向代理的完整流程。文章揭示了IIS作为反向代理的核心依赖——RequestRouter和Rewrite模块的安装逻辑,并通过web.config文件的规则配置,演示了从强制HTTPS到动态域名路由的实现机制。特别值得关注的是在Azure App Service中通过applicationHost.xdt文件启用ARR服务的技巧,这种在共享环境中突破技术限制的实践方式值得深入思考。当构建web.config文件时通过正则表达式捕获子域名并重写请求路径的策略,不仅解决了缩短下载URL的需求,更启发我们思考如何利用规则引擎实现更复杂的路由逻辑。文章最后抛出一个值得探索的问题:当反向代理需要处理高并发流量时,如何通过规则优化和缓存策略平衡性能与安全性?这或许能引导读者重新审视现代应用架构中代理服务的定位与价值。--Qwen3

IIS web.config Reverse Proxy Web Azure App Service Azure

  • 1