

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

# 在 Lightsail 中为 Nginx 实例配置 IPv6 连接
<a name="amazon-lightsail-configure-ipv6-on-nginx"></a>

默认情况下，Amazon Lightsail 中的所有实例都为其分配了公有 IPv4 地址和私有地址。您可以选择 IPv6 为您的实例启用为其分配公有 IPv6 地址。有关更多信息，请参阅 [Amazon Lightsail IP 地址](understanding-public-ip-and-private-ip-addresses-in-amazon-lightsail.md)和[启用或禁用](amazon-lightsail-enable-disable-ipv6.md)。 IPv6

 IPv6 为使用 Nginx 蓝图的实例启用后，您必须执行一组额外的步骤以使该实例知道其 IPv6 地址。在本指南中，我们将介绍必须对 Nginx 实例执行的附加步骤。

## 先决条件
<a name="ipv6-nginx-prerequisites"></a>

满足以下先决条件（如果尚未满足）：
+ 在 Lightsail 中创建一个 Nginx 实例。有关更多信息，请参阅[创建实例](how-to-create-amazon-lightsail-instance-virtual-private-server-vps.md)。
+  IPv6 为你的 Nginx 实例启用。有关更多信息，请参阅[启用或禁用 IPv6](amazon-lightsail-enable-disable-ipv6.md)。
**注意**  
2021 年 1 月 12 日当天或之后创建的新 Nginx 实例在 Lightsail 控制台中创建时默认 IPv6 处于启用状态。即使在创建实例时已默认启用，您也必须完成本指南中的以下步骤才能 IPv6 在实例 IPv6 上进行配置。

## 在 Nginx 实例 IPv6 上进行配置
<a name="configure-ipv6-nginx"></a>

完成以下步骤，在 Lightsai IPv6 l 中的 Nginx 实例上进行配置。

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在 Lightsail 主页的 “**实例**” 部分，找到您要配置的 Ubuntu 实例，然后选择基于浏览器的 SSH 客户端图标以使用 SSH 连接到该实例。  
![\[Lightsail 主页上基于浏览器的 SSH 客户端图标。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/instances/resource_cards/nginx-ssh-quick-connect.png)

1. 连接到实例后，输入以下命令以确定您的实例是否正在监听通过端口 80 的 IPv6 请求。请务必*<IPv6Address>*替换为分配给您的实例 IPv6 的地址。

   ```
   curl -g -6 'http://[<IPv6Address>]'
   ```

   示例：

   ```
   curl -g -6 'http://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]'
   ```

   您看到的响应与以下示例类似：
   + 如果您的实例未通过端口 80 监听 IPv6 请求，则您将看到一条带有**连接失败**错误消息的响应。您应继续完成此过程的步骤 4 到 9。  
![\[IPv6 未在实例上配置。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/lightsail-nginx-ssh-curl-result-not-configured.png)
   + 如果您的实例正在监听通过端口 80 的 IPv6 请求，则您将看到包含您的实例主页的 HTML 代码的响应，如以下示例所示。您应该到此为止；您无需完成此过程的第 4 步到第 9 步，因为您的实例已配置为 IPv6。  
![\[IPv6 在实例上配置。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/lightsail-nginx-ssh-curl-result-configured.png)

1. 输入以下命令以使用 Vim 打开 nginx.conf 配置文件。

   ```
   sudo vim /opt/bitnami/nginx/conf/nginx.conf
   ```

1. 按 `I` 进入 Vim 的插入模式。

1. 在文件中已有的 `listen 80;` 文本下面，添加以下文本。您可能需要在 Vim 中向下滚动才能看到需要添加文本的部分。

   ```
   listen [::]:80;
   ```

   完成后，文件将与以下内容类似：  
![\[实例上的 Nginx 配置文件。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/lightsail-nginx-ssh-nginx-conf-file.png)

1. 按 **ESC** 键退出 Vim 的插入模式，然后输入 `:wq!` 并按 **Enter** 以保存您的编辑内容（写入），再退出 Vim。

1. 输入以下命令以重新启动实例的服务。

   ```
   sudo /opt/bitnami/ctlscript.sh restart
   ```

1. 输入以下命令以确定您的实例是否在监听通过端口 80 的 IPv6请求。请务必*<IPv6Address>*替换为分配给您的实例 IPv6 的地址。

   ```
   curl -g -6 'http://[<IPv6Address>]'
   ```

   示例：

   ```
   curl -g -6 'http://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]'
   ```

   您看到的响应与以下示例类似。如果您的实例正在监听通过端口 80 的 IPv6 请求，则您将看到包含您的实例主页的 HTML 代码的响应。  
![\[IPv6 在实例上配置。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/lightsail-nginx-ssh-curl-result-configured.png)