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

标签 iis proxy windows-server-2012

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

所以我想通过设置转发代理来防止我的服务器的IP被发现。到目前为止,我的研究表明这不是一项简单的任务,需要设置另一个 VPS 来充当代理。

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

此外,似乎建议的 IIS 转发代理插件 Application Request Routing , 不适用于 HTTPS。

有两种传出(HTTPS + HTTP)请求的解决方案吗?

我真的迷路了,所以任何帮助或建议将不胜感激。

最佳答案

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

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

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

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

Features like "upload from URL" that allow the user to upload a photo from a given URL should be configured so that the server doing the download is not the website origin server.



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

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

关于iis - 如何在 Windows 服务器上为传出的 HTTP 和 HTTPS 请求设置转发代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38385023/

相关文章:

asp.net - 呈现的输出中缺少 HTML block

IIS 将 ASP.NET 5 BETA 8 站点部署到 IIS 会出现 HTTP 错误 500.19 - 内部服务器错误

asp.net - TicketCompatibilityMode 上的 IIS 配置错误

docker - 如何自动将 Gitlab 备份到远程服务器

windows - 在 Windows 上部署 Meteor

iis - 在安装了 Core 2.1 的 IIS 10 服务器上,针对 Core 2.1 构建的 ASP.NET Core 应用程序失败

rest - nginx 作为反向代理来限制 http 动词访问

java - 从代理获取已实现的接口(interface)

c++ - 来自应用程序的 HTTP 请求在发件人的网络/代理和我们的网络主机之间消失

visual-studio-2012 - "Run as different user"Visual Studio,无法清除缓存的 TFS 凭据