

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengakhiri HTTPS pada instans EC2 yang menjalankan Node.js
<a name="https-singleinstance-nodejs"></a>

Contoh file konfigurasi berikut [memperluas konfigurasi nginx default](nodejs-platform-proxy.md) untuk mendengarkan pada port 443 dan SSL/TLS mengakhiri koneksi dengan sertifikat publik dan kunci pribadi.

Jika Anda mengonfigurasi lingkungan Anda untuk [pelaporan kondisi yang ditingkatkan](health-enhanced.md), Anda perlu mengonfigurasi nginx untuk menghasilkan log akses. Untuk melakukannya, batalkan komentar blok baris di bawah komentar yang berbunyi `# For enhanced health...` dengan menghapus karakter utama`#`.

**Example .ebextensions/https-instance.config**  

```
files:
  /etc/nginx/conf.d/https.conf:
    mode: "000644"
    owner: root
    group: root
    content: |
      # HTTPS server

      server {
          listen       443;
          server_name  localhost;
          
          ssl                  on;
          ssl_certificate      /etc/pki/tls/certs/server.crt;
          ssl_certificate_key  /etc/pki/tls/certs/server.key;
          
          ssl_session_timeout  5m;
          
          ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
          ssl_prefer_server_ciphers   on;

          # For enhanced health reporting support, uncomment this block:

          #if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})T(\d{2})") {
          #    set $year $1;
          #    set $month $2;
          #    set $day $3;
          #    set $hour $4;
          #}
          #access_log /var/log/nginx/healthd/application.log.$year-$month-$day-$hour healthd;
          #access_log  /var/log/nginx/access.log  main;
          
          location / {
              proxy_pass  http://nodejs;
              proxy_set_header   Connection "";
              proxy_http_version 1.1;
              proxy_set_header        Host            $host;
              proxy_set_header        X-Real-IP       $remote_addr;
              proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header        X-Forwarded-Proto https;
          }
      }
      
  /etc/pki/tls/certs/server.crt:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN CERTIFICATE-----
      certificate file contents
      -----END CERTIFICATE-----
      
  /etc/pki/tls/certs/server.key:
    mode: "000400"
    owner: root
    group: root
    content: |
      -----BEGIN RSA PRIVATE KEY-----
      private key contents # See note below.
      -----END RSA PRIVATE KEY-----
```

Kunci `files` tersebut membuat file berikut pada instans:

`/etc/nginx/conf.d/https.conf`  
Konfigurasikan server nginx. File ini dimuat ketika layanan nginx dimulai.

`/etc/pki/tls/certs/server.crt`  
Membuat file sertifikat pada instans. Ganti *certificate file contents* dengan isi sertifikat Anda.  
YAML bergantung pada indentasi yang konsisten. Cocokkan tingkat indentasi saat mengganti konten dalam file konfigurasi contoh dan pastikan bahwa editor teks Anda menggunakan spasi, bukan karakter tab, untuk indentasi.
Jika Anda memiliki sertifikat menengah, sertakan sertifikat tersebut di `server.crt` setelah sertifikat situs Anda.  

```
      -----BEGIN CERTIFICATE-----
  certificate file contents
  -----END CERTIFICATE-----
  -----BEGIN CERTIFICATE-----
  first intermediate certificate
  -----END CERTIFICATE-----
  -----BEGIN CERTIFICATE-----
  second intermediate certificate
  -----END CERTIFICATE-----
```

`/etc/pki/tls/certs/server.key`  
Membuat file kunci pribadi pada instans. Ganti *private key contents* dengan isi kunci pribadi yang digunakan untuk membuat permintaan sertifikat atau sertifikat yang ditandatangani sendiri. 

**catatan**  
Hindari melakukan file konfigurasi yang berisi kunci pribadi Anda ke kontrol sumber. Setelah Anda menguji konfigurasi dan mengonfirmasi bahwa konfigurasi berfungsi, simpan kunci pribadi Anda di Amazon S3 dan ubah konfigurasi untuk mengunduhnya selama deployment. Untuk instruksi, lihat [Menyimpan kunci pribadi dengan aman di Amazon S3](https-storingprivatekeys.md).

Pada lingkungan instans tunggal, Anda juga harus mengubah grup keamanan instans untuk mengizinkan lalu lintas pada port 443. File konfigurasi berikut mengambil ID grup keamanan menggunakan CloudFormation [fungsi](ebextensions-functions.md) dan menambahkan aturan ke dalamnya.

**Example .ebextensions/ .config https-instance-single**  

```
Resources:
  sslSecurityGroupIngress: 
    Type: AWS::EC2::SecurityGroupIngress
    Properties:
      GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
      IpProtocol: tcp
      ToPort: 443
      FromPort: 443
      CidrIp: 0.0.0.0/0
```

Untuk lingkungan yang seimbang beban, Anda mengonfigurasi penyeimbang beban untuk [meneruskan lalu lintas aman melalui yang tidak tersentuh](https-tcp-passthrough.md), atau [mendekripsi](configuring-https-endtoend.md) dan mengenkripsi ulang untuk enkripsi. end-to-end