

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 選項 2，第 2 部分：設定代理設定以檢視 Amazon EMR 叢集主節點上託管的網站
<a name="emr-connect-master-node-proxy"></a>

如果您使用 SSH 通道搭配動態連接埠轉送，您必須使用 SOCKS 代理管理附加元件，以控制在瀏覽器中的代理設定。使用 SOCKS 代理管理工具可讓您根據文字模式自動篩選 URL，並將代理設定限制為與主節點公有 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 Patterns (URL 模式)**

  以下 URL 模式應加入允許清單並使用萬用字元模式類型加以指定：
  + **\$1ec2\$1.\$1compute\$1.amazonaws.com\$1** 和 **\$110\$1.amazonaws.com\$1** 模式與美國區域中叢集的公有 DNS 名稱相符。
  + **\$1ec2\$1.compute\$1** 和 **\$110\$1.compute\$1** 模式則與所有其他區域中叢集的公有 DNS 名稱相符。
  +  **10.\$1** 模式提供對 Hadoop 中 JobTracker 日誌檔案的存取。如果此篩選條件與網路存取計畫衝突，請進行更改。
  + **\$1.ec2.internal\$1** 和 **\$1.compute.internal\$1** 模式分別符合 `us-east-1` 區域和所有其他區域中叢集的私有 (內部) DNS 名稱。

## 範例：設定 FoxyProxy for Firefox
<a name="emr-connect-foxy-proxy-chrome"></a>

下面的範例演示了 Mozilla Firefox 的 FoxyProxy Standard (7.5.1 版) 組態。

FoxyProxy 提供一組代理管理工具。它允許您為 URL 使用代理伺服器，這些 URL 與 Amazon EMR 叢集中的 Amazon EC2 執行個體使用的域所對應的模式相符。<a name="foxy-proxy"></a>

**使用 Mozilla Firefox 來安裝和設定 FoxyProxy**

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 **管理擴充功能**頁面 (轉至 **about:addons** ，然後選擇**擴充功能**。

1. 選擇 **FoxyProxy Standard**，然後選擇「更多選項」按鈕 (看起來像省略號的按鈕)。

1. 從下拉式清單中選取**選項**。

1. 從左側功能表中選擇**匯入設定**。

1. 在**匯入設定**頁面中，選擇**從 FoxyProxy 6.0\$1 中匯入設定**下的**匯入設定**，瀏覽至您建立的 `foxyproxy-settings.json` 檔案的位置，選取該檔案，並選擇**開啟**。

1. 當系統提示您覆寫現有設定並儲存新組態時，請選擇**確定**。

## 範例：針對 Chrome 設定 SwitchyOmega
<a name="switchyomega"></a>

下面範例會示範如何針對 Google Chrome 設定 SwitchyOmega 擴充功能。SwitchyOmega 可讓您設定、管理和切換多個代理。

**使用 Google Chrome 安裝和設定 SwitchyOmega**

1. 轉到 [https://chrome.google.com/webstore/category/extensions](https://chrome.google.com/webstore/category/extensions)，搜尋 **Proxy SwitchyOmega**，並將其新增至 Chrome。

1. 選擇**新設定檔**，並輸入 `emr-socks-proxy` 作為設定檔名稱。

1. 選擇 **PAC 設定檔**，然後選擇**建立**。[Proxy Auto-Configuration (PAC)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_(PAC)_file) 檔案可協助您為應轉送至 Web 代理伺服器的瀏覽器請求定義允許清單。

1. 在 **PAC 指令碼**欄位中，將內容取代為下面的指令碼，該指令碼可定義應透過 Web 代理伺服器轉送的 URL。如果在設定 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. 在**動作**下，選擇**套用變更**以儲存代理設定。

1. 在 Chrome 工具列中，選擇 SwitchyOmega 並選取 `emr-socks-proxy` 設定檔。

## 在瀏覽器中存取 Web 介面
<a name="connect-to-web-ui-browser"></a>

要開啟 Web 介面，請在瀏覽器地址列中輸入主節點或核心節點的公有 DNS 名稱，後跟所選介面的連接埠號碼。以下範例顯示您將輸入的 URL 以連接到 Spark HistoryServer。

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

如需有關擷取節點公有 DNS 名稱的指示，請參閱 [擷取主節點的公有 DNS 名稱](emr-connect-master-node-ssh.md#emr-connect-master-dns)。如需 Web 介面 URL 的完整清單，請參閱 [檢視 Amazon EMR 叢集上託管的 Web 介面](emr-web-interfaces.md)。