如何在Windows服务器上设置转发HTTP和HTTPS请求的转发代理?

ful*_*ull 6 iis proxy windows-server-2012

我有一个Windows服务器2012 VPS运行Cloudflare后面的Web应用程序.应用程序需要根据用户操作启动出站连接(例如,从URL上传图像).问题是这会"泄漏"我服务器的IP地址并增加DDOS攻击的风险.

因此,我想通过设置转发代理来防止发现服务器的IP.到目前为止,我的研究表明,这不是一项简单的任务,而是需要设置另一个VPS作为代理.

这个额外的转发代理VPS是否必须运行Windows?他们的任何付费服务是否可以作为我服务器的转发代理(如cloudflare的反向代理系统)?

此外,似乎建议的IIS转发代理插件,应用程序请求路由,不适用于HTTPS.

是否有两种类型的传出(HTTPS + HTTP)请求的解决方案?

我真的迷失在这里,所以任何帮助或建议将不胜感激.

小智 3

您需要“转发代理”是正确的。一个很好的类比是浏览器针对出站请求的代理设置。在您的情况下,Web 应用程序的行为类似于桌面浏览器,并且可以配置为通过代理发出资源请求。

通常,您可以在应用程序层针对单个请求进行控制。使用 C# 执行此操作的示例:C# Connecting Through Proxy

就实际的代理服务器而言:不需要,它不需要运行Windows或IIS。是的,您可以使用代理服务。绝大多数代理服务都是针对消费者的,用于保护个人隐私或绕过网络限制。因此,我没有直接的建议。

Cloudflare 实际上对此有建议: https: //blog.cloudflare.com/ddos-prevention-protecting-the-origin/

应配置“从 URL 上传”等允许用户从给定 URL 上传照片的功能,以便执行下载的服务器不是网站源服务器。

这可能是一个更舒适的风险缓解器,因为它不依赖于第三方代理服务。上传请求可以作为对专用“文件下载器”服务器的 Web 服务调用来处理。请记住,如果您有一个排队进程供另一台服务器执行工作,并且该服务器托管在同一基础设施中,则两者都可能会受到 DDoS 的影响,具体取决于 DDoS 的类型。

您的问题表明您可能习惯使用非 Windows 服务器。存在许多可以作为代理运行的软件(大多数 Web 服务器),但遇到与 ARR 相同的问题 - 缺乏对 HTTP“CONNECT”动词的支持,现代浏览器使用该动词在发出“”之前启动 HTTPS 连接。得到”。SQUID 非常流行,开源,并且支持所有连接到..任何东西。设置起来并不简单。Apache 在“mod_proxy_connect”中也对此提供了支持,但我没有这方面的经验,而且在线文档也不是很强大。不过,它是 Apache,因此可能值得进行额外的研究。