我面临的情况是,我有一个 LAN 网络,该网络由多个可以访问 LAN 但不能访问互联网的设备组成,并且 LAN 内有一台安装有 IIS 7 的计算机可以访问互联网。
现在,我需要从没有互联网但可以访问 IIS 计算机的设备访问外部网站。因此,我认为我可以使用 IIS 服务器创建反向代理,但是我对如何实现这一点没有太多信息或知识,因此我安装了 URL Rewrite 和 ARR 模块。
我的问题是:
如果我的设备使用匹配的模式查询 IIS 反向代理,它们是否能够访问外部互联网网站?(例如:设备 => IIS => 网站 => 返回对 IIS 的响应 => 返回对设备的响应)
如何创建模式来访问 REST API 的资源路径,例如:http://localiis/1=>http://external/1 (其中1是查询本地IIS时传递的动态值),如何实现?
如何处理外部互联网网站需要 https SSL 的情况?
真的,我需要反向代理吗?这是一个好的解决方案吗?
我迷路了,非常感谢社区的任何帮助!
答案1
我会使用在可以访问互联网的系统上运行的正向代理。Analogx 提供免费的代理服务器软件,网址为代理人。我以前在类似您描述的情况下使用过它,发现设置起来很简单。我从开发者的网站上附上了该程序的描述:
网络上有多台机器,但只有一个互联网连接?希望您可以从其他机器浏览网络,就像从连接的机器浏览网络一样?那么您正在寻找的就是代理服务器,AnalogX 正好有您想要的东西。AnalogX Proxy 是一个小型而简单的服务器,它允许本地网络上的任何其他机器通过中央机器路由其请求。那么这在英语中是什么意思呢?很简单,在具有互联网连接的机器上运行 Proxy,配置其他机器使用代理(这非常简单,自述文件中有详细说明),然后就好了!您可以从网络上的任何其他机器浏览网页!支持 HTTP(网络)、HTTPS(安全网络)、POP3(接收邮件)、SMTP(发送邮件)、NNTP(新闻组)、FTP(文件传输)以及 Socks4/4a 和部分 Socks5(无 UDP)协议!
安装并运行后,您就可以在没有互联网访问的系统上配置浏览器以使用代理服务器。请参阅检查 Microsoft Windows 代理服务器设置了解在 Internet Explorer 11 中配置代理服务器支持的步骤,这将更改系统范围的代理服务器设置,因此使用系统范围的代理服务器设置(而不是使用特定于浏览器的设置)的任何其他浏览器软件也将使用代理服务器。将运行代理服务器软件的系统的 IP 地址输入到代理设置窗口并在两个端口字段中指定代理服务器软件监听的端口。
Google Chrome 使用系统范围的代理服务器设置,但您可以按照以下步骤在 Chrome 中更改这些设置在 Windows 系统上使用 Google Chrome 检查代理服务器设置。Firefox 有自己的特定设置,您可以通过指定 HTTP 和 SSL 代理服务器设置来为 HTTP 和 HTTPS 设置该设置,在您的例子中,这两个设置都是具有 Internet 访问权限的系统上的代理服务器的 IP 地址。还可以通过选择“使用系统代理设置”将 Firefox 配置为使用系统范围的代理服务器设置。您可以使用Alt-T
Firefox 中的组合键调出工具菜单然后选择选项, 然后设置在下面网络选项卡查看连接设置。
转发代理服务器适合你所描述的场景。我自己还没有尝试过,但你可以在以下网址找到说明:使用应用程序请求路由创建正向代理关于“如何使用 Internet 信息服务 (IIS) 的应用程序请求路由 (ARR) 和 URL 重写功能来实现正向代理服务器”。 如果已安装 ARR 和 URL 重写,则步骤(该链接中未提供图像)如下:
- 打开 Internet 信息服务 (IIS) 管理器。
- 在里面連接窗格中,选择服务器。
- 在服务器窗格中,双击应用程序请求路由缓存。
- 在里面操作窗格中,单击服务器代理设置。
- 在应用程序请求路由页面,选择启用代理。
- 在里面操作窗格中,单击申请. 这使得 ARR 能够作为服务器级别的代理。
- 要开始将 ARR 转换为正向代理的过程,请单击連接窗格。
- 在服务器窗格中,双击URL 重写。
- 在里面操作窗格中,单击添加规则。
- 在里面添加规则对话框中,双击空白规则。
- 在里面编辑入站规则对话框中,输入“正向代理”姓名。 在里面匹配网址区域,输入以下内容:
- 使用:通配符
- 图案: *
- 向下滚动到状况面积编辑入站规则对话框,然后单击添加….
- 在里面添加条件对话框中,选择或输入以下内容:
- 条件输入:{HTTP_HOST}
- 类型:匹配模式
- 图案: *
- 向下滚动到行动面积编辑入站规则对话框中,然后输入以下内容:
- 操作类型:重写
- 重写 URL:http://{C:1}/{R:0}
- 在操作窗格中,单击应用。 笔记:此规则允许 HTTP 消息通过转发代理。此转发代理不支持 HTTPS (443) 消息,因为 ARR 不支持 HTTP CONNECT。
- 在您的应用程序、浏览器等中适当配置代理设置。