

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 选项 2，第 2 部分：配置代理设置以查看 Amazon EMR 集群主节点上托管的网站
<a name="emr-connect-master-node-proxy"></a>

如果您使用带有动态端口转发的 SSH 隧道，则必须使用 SOCKS 代理管理附加组件来控制浏览器中的代理设置。使用 SOCKS 代理管理工具可以 URLs 根据文本模式自动进行筛选，并将代理设置限制为与主节点的公有 DNS 名称形式相匹配的域。当您在查看主节点上托管的网站和互联网上托管的网站之间进行切换时，浏览器附加组件会自动处理打开和关闭代理的操作。要管理您的代理设置，请将浏览器配置为使用插件，例如 FoxyProxy 或 SwitchyOmega。

有关创建 SSH 隧道的更多信息，请参阅[选项 2，第 1 部分：使用动态端口转发设置通往主节点的 SSH 隧道](emr-ssh-tunnel.md)。有关可用 Web 界面的更多信息，请参阅[查看 Amazon EMR 集群上托管的 Web 界面](emr-web-interfaces.md)。



在设置代理附加组件时，请包括以下设置：
+ 使用 **localhost** 作为主机地址。
+ 使用您选择的相同本地端口号与 [选项 2，第 1 部分：使用动态端口转发设置通往主节点的 SSH 隧道](emr-ssh-tunnel.md) 中的主节点建立 SSH 隧道。例如，端口*8157*。此端口还必须与您在 PuTTY 或用于连接的任何其它终端仿真器中使用的端口号相匹配。
+ 指定 **SOCKS v5** 协议。SOCKS v5 允许您有选择地设置用户授权。
+ **URL 模式**

  以下 URL 模式应列入允许列表并使用通配符模式类型指定：
  + **\$1ec2\$1.\$1compute\$1.amazonaws.com\$1** 和 **\$110\$1.amazonaws.com\$1** 模式与美国区域中集群的公有 DNS 名称匹配。
  + **\$1ec2\$1.compute\$1** 和 **\$110\$1.compute\$1** 模式与所有其它区域中集群的公有 DNS 名称匹配。
  +  A **10。 **\$1 模式用于提供对 Hadoop 中JobTracker 日志文件的访问权限。如果此筛选条件与您的网络访问计划冲突，请更改此筛选条件。
  + **\$1.ec2.internal\$1** 和 **\$1.compute.internal\$1** 模式，分别与 `us-east-1` 区域和所有其它区域中集群的私有（内部）DNS 名称相匹配。

## 示例：为 Firefox FoxyProxy 进行配置
<a name="emr-connect-foxy-proxy-chrome"></a>

以下示例演示了 Mozilla Firefox 的 FoxyProxy 标准（版本 7.5.1）配置。

FoxyProxy 提供了一组代理管理工具。该工具有便于您将代理服务器用于 URL，这些 URL 与 Amazon EMR 集群中 Amazon EC2 实例所使用的域对应模式相匹配。<a name="foxy-proxy"></a>

**FoxyProxy 使用 Mozilla Firefox 进行安装和配置**

1. 在 Firefox 中，前往 [https://addons.mozilla.org/](https://addons.mozilla.org/) 搜索 FoxyProxy Standard，然后按照说明添加 FoxyProxy 到 Firefox。

1. 使用文本编辑器，根据以下示例配置创建名为 `foxyproxy-settings.json` 的 JSON 文件。

   ```
   {
     "k20d21508277536715": {
       "active": true,
       "address": "localhost",
       "port": 8157,
       "username": "",
       "password": "",
       "type": 3,
       "proxyDNS": true,
       "title": "emr-socks-proxy",
       "color": "#0055E5",
       "index": 9007199254740991,
       "whitePatterns": [
         {
           "title": "*ec2*.*compute*.amazonaws.com*",
           "active": true,
           "pattern": "*ec2*.*compute*.amazonaws.com*",
           "importedPattern": "*ec2*.*compute*.amazonaws.com*",
           "type": 1,
           "protocols": 1
         },
         {
           "title": "*ec2*.compute*",
           "active": true,
           "pattern": "*ec2*.compute*",
           "importedPattern": "*ec2*.compute*",
           "type": 1,
           "protocols": 1
         },
         {
           "title": "10.*",
           "active": true,
           "pattern": "10.*",
           "importedPattern": "http://10.*",
           "type": 1,
           "protocols": 2
         },
         {
           "title": "*10*.amazonaws.com*",
           "active": true,
           "pattern": "*10*.amazonaws.com*",
           "importedPattern": "*10*.amazonaws.com*",
           "type": 1,
           "protocols": 1
         },
         {
           "title": "*10*.compute*",
           "active": true,
           "pattern": "*10*.compute*",
           "importedPattern": "*10*.compute*",
           "type": 1,
           "protocols": 1
         },
         {
           "title": "*.compute.internal*",
           "active": true,
           "pattern": "*.compute.internal*",
           "importedPattern": "*.compute.internal*",
           "type": 1,
           "protocols": 1
         },
         {
           "title": "*.ec2.internal* ",
           "active": true,
           "pattern": "*.ec2.internal*",
           "importedPattern": "*.ec2.internal*",
           "type": 1,
           "protocols": 1
         }
       ],
       "blackPatterns": []
     },
     "logging": {
       "size": 100,
       "active": false
     },
     "mode": "patterns",
     "browserVersion": "68.12.0",
     "foxyProxyVersion": "7.5.1",
     "foxyProxyEdition": "standard"
   }
   ```

1. 打开 Firefox **Manage Your Extensions (管理您的扩展)** 页面（转到 **about:addons**，然后选择 **Extensions (扩展)**）。

1. 选择 “**FoxyProxy 标准**”，然后选择 “更多选项” 按钮（看起来像省略号的按钮）。

1. 从下拉列表中选择 **Options (选项)**。

1. 从左侧菜单中选择 **Import Settings (导入设置)**。

1. ****在 **“导入设置”** 页面上，在 ** FoxyProxy 6.0\$1 版本的 “导入设置”** 下选择 “导入设置”，浏览到您创建`foxyproxy-settings.json`的文件的位置，选择该文件，然后选择 “打开”。****

1. 当系统提示覆盖现有设置并保存新配置时，选择 **OK (确定)**。

## 示例：为 chrome SwitchyOmega 进行配置
<a name="switchyomega"></a>

以下示例演示了如何为谷歌浏览器设置 SwitchyOmega扩展程序。 SwitchyOmega 允许您配置、管理和在多个代理之间切换。

**SwitchyOmega 使用谷歌浏览器进行安装和配置**

1. 前往[https://chrome.google.com/webstore/类别/扩展程序](https://chrome.google.com/webstore/category/extensions)，搜索**代理 SwitchyOmega**，然后将其添加到 Chrome。

1. 选择 **New profile (新建配置文件)** 并输入 `emr-socks-proxy` 作为配置文件名称。

1. 选择 **PAC profile (PAC 配置文件)** 然后选择 **Create (创建)**。[代理自动配置 (PAC)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file) 文件，可帮助您定义应转发到 Web 代理服务器的浏览器请求的允许列表。

1. 在 **PAC 脚本**字段中，将内容替换为以下脚本，该脚本定义了 URLs 应通过 Web 代理服务器转发哪些脚本。如果您在设置 SSH 隧道时指定了不同的端口号，请将其*8157*替换为您的端口号。

   ```
   function FindProxyForURL(url, host) {
       if (shExpMatch(url, "*ec2*.*compute*.amazonaws.com*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "*ec2*.compute*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "http://10.*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "*10*.compute*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "*10*.amazonaws.com*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "*.compute.internal*")) return 'SOCKS5 localhost:8157';
       if (shExpMatch(url, "*ec2.internal*")) return 'SOCKS5 localhost:8157';
       return 'DIRECT';
   }
   ```

1. 在 **Actions (操作)** 下，选择 **Apply changes (应用更改)** 以保存您的代理设置。

1. 在 Chrome 工具栏上，选择 SwitchyOmega 并选择`emr-socks-proxy`配置文件。

## 访问浏览器中的 Web 界面
<a name="connect-to-web-ui-browser"></a>

要打开 Web 界面，请在浏览器地址栏中输入主节点或核心节点的公有 DNS 名称，后跟所选界面的端口号。以下示例显示了您为连接到 Spark 而需要输入的网址 HistoryServer。

```
http://master-public-dns-name:18080/				
```

有关检索节点的公有 DNS 名称的说明，请参阅[检索主节点的公有 DNS 名称](emr-connect-master-node-ssh.md#emr-connect-master-dns)。有关 Web 界面的完整列表 URLs，请参阅[查看 Amazon EMR 集群上托管的 Web 界面](emr-web-interfaces.md)。