

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

# AWS CloudHSM SSL/TLS offload di Linux menggunakan NGINX atau dengan OpenSSL Provider HAProxy
<a name="third-offload-linux-openssl-provider"></a>

Topik ini memberikan step-by-step instruksi untuk mengatur SSL/TLS pembongkaran identitas server dengan AWS CloudHSM pada server web Linux menggunakan NGINX atau dengan Penyedia HAProxy OpenSSL.

**Topics**
+ [Ikhtisar](#ssl-offload-linux-openssl-provider-overview)
+ [Langkah 1: Siapkan prasyarat](#ssl-offload-provider-prerequisites)
+ [Langkah 2: Buat atau impor kunci pribadi dan dapatkan sertifikat](#ssl-offload-provider-generate-key-and-certificate)
+ [Langkah 3: Konfigurasikan server web](#ssl-offload-provider-configure-web-server)
+ [Langkah 4: Aktifkan lalu lintas HTTPS dan verifikasi sertifikat](#ssl-offload-enable-traffic-and-verify-certificate-provider)

## Ikhtisar
<a name="ssl-offload-linux-openssl-provider-overview"></a>

[Di Linux, perangkat lunak [NGINX](https://nginx.org/en/) dan server [HAProxy](https://www.haproxy.org/)web terintegrasi dengan OpenSSL untuk mendukung HTTPS.](https://www.openssl.org/) Penyedia [AWS CloudHSM OpenSSL](openssl-provider-library.md) menyediakan antarmuka yang memungkinkan perangkat lunak server web untuk menggunakan di cluster Anda untuk HSMs pembongkaran kriptografi dan penyimpanan kunci. OpenSSL Provider adalah jembatan yang menghubungkan server web ke cluster Anda. AWS CloudHSM 

Untuk menyelesaikan tutorial ini, Anda akan mengkonfigurasi NGINX atau HAProxy menggunakan OpenSSL AWS CloudHSM Provider. Tutorial menunjukkan kepada Anda bagaimana melakukan hal berikut:
+ Instal perangkat lunak server web pada instans Amazon EC2.
+ Atur konfigurasi perangkat lunak server web untuk mendukung HTTPS dengan kunci privat yang tersimpan di klaster AWS CloudHSM .
+ (Opsional) Gunakan Amazon EC2 untuk membuat instans server web kedua dan Elastic Load Balancing untuk membuat penyeimbang beban. Menggunakan penyeimbang beban dapat meningkatkan performa dengan mendistribusikan beban di beberapa server. Hal ini juga dapat memberikan redundansi dan ketersediaan yang lebih tinggi jika satu atau lebih server gagal.

Saat Anda siap memulai, buka [Langkah 1: Siapkan prasyarat](#ssl-offload-provider-prerequisites).

## Langkah 1: Siapkan prasyarat
<a name="ssl-offload-provider-prerequisites"></a>

Platform yang berbeda memerlukan prasyarat yang berbeda. Gunakan bagian prasyarat di bawah ini yang sesuai dengan platform Anda.

### Prasyarat untuk Penyedia OpenSSL AWS CloudHSM
<a name="provider-new-versions"></a>

Untuk mengatur pembongkaran identitas server web SSL/TLS server dengan AWS CloudHSM OpenSSL Provider for Client SDK 5, Anda memerlukan yang berikut ini:
+  AWS CloudHSM Cluster aktif dengan setidaknya dua modul keamanan perangkat keras (HSM)
**catatan**  
Anda dapat menggunakan satu HSM klaster, tetapi Anda harus terlebih dahulu menonaktifkan daya tahan kunci klien. Untuk informasi selengkapnya, lihat [Kelola Pengaturan Daya Tahan Kunci Klien](working-client-sync.md#client-sync-sdk8) dan [Alat Konfigurasi Klien SDK 5](configure-sdk-5.md).
+ Instans Amazon EC2 menjalankan sistem operasi Linux dengan perangkat lunak berikut diinstal:
  + Server web (baik NGINX atau) HAProxy
  + Penyedia AWS CloudHSM OpenSSL untuk SDK Klien 5
+ [Pengguna kripto](understanding-users.md#crypto-user-chsm-cli) (CU) harus memiliki dan mengelola kunci privat server web pada HSM.

**Untuk mengatur sebuah instans server web Linux dan membuat CU pada HSM**
**catatan**  
Banyak perintah dalam prosedur ini memerlukan hak istimewa yang tinggi. Anda mungkin perlu menjalankan perintah dengan `sudo` atau sebagai pengguna root tergantung pada konfigurasi sistem Anda.

1. Instal dan konfigurasikan Penyedia AWS CloudHSM OpenSSL untuk Client SDK 5. Untuk informasi selengkapnya tentang menginstal Penyedia OpenSSL, lihat Penyedia [AWS CloudHSM OpenSSL](openssl-provider-install.md) untuk SDK Klien 5.

1. Pada instans EC2 Linux yang memiliki akses ke cluster Anda, instal NGINX atau HAProxy server web:

------
#### [ Amazon Linux 2023 ]
   + NGINX

     ```
     $ yum install nginx
     ```
   + HAProxy

     ```
     $ yum install haproxy
     ```

------
#### [ RHEL 9 (9.2\$1) ]
   + NGINX

     ```
     $ yum install nginx
     ```
   + HAProxy

     ```
     $ yum install haproxy
     ```

------
#### [ RHEL 10 (10.0\$1) ]
   + NGINX

     ```
     $ yum install nginx
     ```
   + HAProxy

     ```
     $ yum install haproxy
     ```

------
#### [ Ubuntu 24.04 ]
   + NGINX

     ```
     $ apt install nginx
     ```
   + HAProxy

     ```
     $ apt install haproxy
     ```

------

1. [Gunakan CloudHSM CLI untuk membuat pengguna kripto.](understanding-users.md#crypto-user-chsm-cli) Untuk informasi selengkapnya tentang mengelola pengguna HSM, lihat [Mengelola pengguna HSM dengan CloudHSM](manage-hsm-users-chsm-cli.md) CLI.
**Tip**  
Lacak nama pengguna dan kata sandi CU. Anda akan membutuhkannya nanti ketika Anda membuat atau mengimpor kunci privat HTTPS dan sertifikat untuk server web Anda.

Setelah Anda menyelesaikan langkah ini, buka [Langkah 2: Buat atau impor kunci pribadi dan dapatkan sertifikat](#ssl-offload-provider-generate-key-and-certificate).

#### Catatan
<a name="note-ssl5-provider-pre"></a>
+ Untuk menggunakan Security-Enhanced Linux (SELinux) dan server web, Anda harus mengizinkan koneksi TCP keluar pada port 2223, yang merupakan port yang digunakan Client SDK 5 untuk berkomunikasi dengan HSM.
+ Untuk membuat dan mengaktifkan klaster dan memberikan akses instans EC2 ke klaster, selesaikan langkah-langkah dalam [Memulai dengan AWS CloudHSM](getting-started.md). Memulai menawarkan step-by-step instruksi untuk membuat cluster aktif dengan satu HSM dan instans klien Amazon EC2. Anda dapat menggunakan instans klien ini sebagai server web Anda. 
+ Untuk menghindari menonaktifkan daya tahan kunci klien, tambahkan lebih dari satu HSM ke klaster Anda. Untuk informasi lebih lanjut, lihat [Menambahkan HSM ke cluster AWS CloudHSM](add-hsm.md).
+ Untuk terhubung ke instans klien Anda, Anda dapat menggunakan SSH atau PuTTY. Untuk informasi selengkapnya, lihat.[Menghubungkan ke Instans Linux Anda Menggunakan SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html) atau [Menyambung ke Instans Linux Anda dari Windows Menggunakan PuTTY](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html) dalam dokumentasi Amazon EC2. 

## Langkah 2: Buat atau impor kunci pribadi dan dapatkan sertifikat
<a name="ssl-offload-provider-generate-key-and-certificate"></a>

Untuk mengaktifkan HTTPS, aplikasi server web Anda (NGINX atau HAProxy) memerlukan kunci pribadi dan sertifikat yang sesuai SSL/TLS . Untuk menggunakan identitas SSL/TLS server web offload dengan AWS CloudHSM, Anda harus menyimpan kunci pribadi di HSM di cluster Anda AWS CloudHSM . Pertama-tama Anda akan membuat kunci pribadi dan menggunakan kunci untuk membuat permintaan penandatanganan sertifikat (CSR). Anda kemudian mengekspor *kunci pribadi PEM palsu* dari HSM, yang merupakan file kunci pribadi dalam format PEM yang berisi referensi ke kunci pribadi yang disimpan di HSM (itu bukan kunci pribadi yang sebenarnya). Server web Anda menggunakan file kunci pribadi PEM palsu untuk mengidentifikasi kunci pribadi pada HSM selama pembongkaran identitas SSL/TLS server.

### Hasilkan kunci pribadi
<a name="ssl-offload-provider-generate-private-key"></a>

[Bagian ini menunjukkan cara membuat keypair menggunakan CloudHSM CLI.](cloudhsm_cli.md) Setelah Anda memiliki key pair yang dihasilkan di dalam HSM, Anda dapat mengekspornya sebagai file PEM palsu dan menghasilkan sertifikat yang sesuai. <a name="ssl-offload-provider-generate-private-key-prerequisites"></a>

**Instal dan konfigurasikan CloudHSM CLI**

1. [Instal dan Konfigurasikan](cloudhsm_cli-getting-started.md) CloudHSM CLI.

1. Gunakan perintah berikut untuk memulai CloudHSM CLI.

   ```
   $ /opt/cloudhsm/bin/cloudhsm-cli interactive
   ```

1. Jalankan perintah berikut untuk masuk ke HSM. Ganti *<user name>* dengan nama pengguna pengguna kripto Anda

   ```
   aws-cloudhsm>login --username <user name> --role crypto-user
   ```

**Menghasilkan Kunci Pribadi**

Tergantung pada kasus penggunaan Anda, Anda dapat menghasilkan RSA atau EC key pair. Lakukan salah satu tindakan berikut:
+ Untuk menghasilkan kunci pribadi RSA pada HSM

  Gunakan [`key generate-asymmetric-pair rsa`](cloudhsm_cli-key-generate-asymmetric-pair-rsa.md)perintah untuk menghasilkan key pair RSA. Contoh ini menghasilkan key pair RSA dengan modulus 2048, eksponen publik 65537, label kunci publik, dan label kunci pribadi. *tls\$1rsa\$1pub* *tls\$1rsa\$1private*

  ```
  aws-cloudhsm > key generate-asymmetric-pair rsa \
  --public-exponent 65537 \
  --modulus-size-bits 2048 \
  --public-label tls_rsa_pub \
  --private-label tls_rsa_private \
  --private-attributes sign=true
  {
    "error_code": 0,
    "data": {
      "public_key": {
        "key-reference": "0x0000000000280cc8",
        "key-info": {
          "key-owners": [
            {
              "username": "cu1",
              "key-coverage": "full"
            }
          ],
          "shared-users": [],
          "cluster-coverage": "full"
        },
        "attributes": {
          "key-type": "rsa",
          "label": "tls_rsa_pub",
          "id": "",
          "check-value": "0x01fe6e",
          "class": "public-key",
          "encrypt": true,
          "decrypt": false,
          "token": true,
          "always-sensitive": false,
          "derive": false,
          "destroyable": true,
          "extractable": true,
          "local": true,
          "modifiable": true,
          "never-extractable": false,
          "private": true,
          "sensitive": false,
          "sign": false,
          "trusted": false,
          "unwrap": false,
          "verify": false,
          "wrap": false,
          "wrap-with-trusted": false,
          "key-length-bytes": 512,
          "public-exponent": "0x010001",
          "modulus": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634df6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0acac3160f0ca9725d38318b7",
          "modulus-size-bits": 2048
        }
      },
      "private_key": {
        "key-reference": "0x0000000000280cc7",
        "key-info": {
          "key-owners": [
            {
              "username": "cu1",
              "key-coverage": "full"
            }
          ],
          "shared-users": [],
          "cluster-coverage": "full"
        },
        "attributes": {
          "key-type": "rsa",
          "label": "tls_rsa_private",
          "id": "",
          "check-value": "0x01fe6e",
          "class": "private-key",
          "encrypt": false,
          "decrypt": true,
          "token": true,
          "always-sensitive": true,
          "derive": false,
          "destroyable": true,
          "extractable": true,
          "local": true,
          "modifiable": true,
          "never-extractable": false,
          "private": true,
          "sensitive": true,
          "sign": true,
          "trusted": false,
          "unwrap": false,
          "verify": false,
          "wrap": false,
          "wrap-with-trusted": false,
          "key-length-bytes": 1217,
          "public-exponent": "0x010001",
          "modulus": "0xb1d27e857a876f4e9fd5de748a763c539b359f937eb4b4260e30d1435485a732c878cdad9c72538e2215351b1d41358c9bf80b599c73a80fdb457aa7b20cd61e486c326e2cfd5e124a7f6a996437437812b542e3caf85928aa866f0298580f7967ee6aa01440297d7308fdd9b76b70d1b67f12634df6e6296d6c116d5744c6d60d14d3bf3cb978fe6b75ac67b7089bafd50d8687213b31abc7dc1bad422780d29c851d5102b56f932551eaf52a9591fd8c43d81ecc133022653225bd129f8491101725e9ea33e1ded83fb57af35f847e532eb30cd7e726f23910d2671c6364092e834697ec3cef72cc23615a1ba7c5e100156ae0acac3160f0ca9725d38318b7",
          "modulus-size-bits": 2048
        }
      }
    }
  }
  ```
+ Untuk menghasilkan kunci pribadi EC pada HSM

  Gunakan [`key generate-asymmetric-pair ec`](cloudhsm_cli-key-generate-asymmetric-pair-ec.md)perintah untuk menghasilkan EC key pair. Contoh ini menghasilkan key pair EC dengan `prime256v1` kurva (sesuai dengan `NID_X9_62_prime256v1` kurva), label kunci publik*tls\$1ec\$1pub*, dan label kunci pribadi dari*tls\$1ec\$1private*.

  ```
  aws-cloudhsm > key generate-asymmetric-pair ec \
      --curve prime256v1 \
      --public-label tls_ec_pub \
      --private-label tls_ec_private \
      --private-attributes sign=true
  {
    "error_code": 0,
    "data": {
      "public_key": {
        "key-reference": "0x000000000012000b",
        "key-info": {
          "key-owners": [
            {
              "username": "cu1",
              "key-coverage": "full"
            }
          ],
          "shared-users": [],
          "cluster-coverage": "session"
        },
        "attributes": {
          "key-type": "ec",
          "label": "tls_ec_pub",
          "id": "",
          "check-value": "0xd7c1a7",
          "class": "public-key",
          "encrypt": false,
          "decrypt": false,
          "token": false,
          "always-sensitive": false,
          "derive": false,
          "destroyable": true,
          "extractable": true,
          "local": true,
          "modifiable": true,
          "never-extractable": false,
          "private": true,
          "sensitive": false,
          "sign": false,
          "trusted": false,
          "unwrap": false,
          "verify": false,
          "wrap": false,
          "wrap-with-trusted": false,
          "key-length-bytes": 57,
          "ec-point": "0x047096513df542250a6b228fd9cb67fd0c903abc93488467681974d6f371083fce1d79da8ad1e9ede745fb9f38ac8622a1b3ebe9270556000c",
          "curve": "secp224r1"
        }
      },
  "private_key": {
        "key-reference": "0x000000000012000c",
        "key-info": {
          "key-owners": [
            {
              "username": "cu1",
              "key-coverage": "full"
            }
          ],
          "shared-users": [],
          "cluster-coverage": "session"
        },
        "attributes": {
          "key-type": "ec",
          "label": "tls_ec_private",
          "id": "",
          "check-value": "0xd7c1a7",
          "class": "private-key",
          "encrypt": false,
          "decrypt": false,
          "token": false,
          "always-sensitive": true,
          "derive": false,
          "destroyable": true,
          "extractable": true,
          "local": true,
          "modifiable": true,
          "never-extractable": false,
          "private": true,
          "sensitive": true,
          "sign": true,
          "trusted": false,
          "unwrap": false,
          "verify": false,
          "wrap": false,
          "wrap-with-trusted": false,
          "key-length-bytes": 122,
          "ec-point": "0x047096513df542250a6b228fd9cb67fd0c903abc93488467681974d6f371083fce1d79da8ad1e9ede745fb9f38ac8622a1b3ebe9270556000c",
          "curve": "secp224r1"
        }
      }
    }
  }
  ```

**Ekspor file kunci pribadi PEM palsu**

Setelah Anda memiliki kunci pribadi di HSM, Anda harus mengekspor file kunci pribadi PEM palsu. File ini tidak berisi data kunci yang sebenarnya, tetapi memungkinkan OpenSSL Dynamic Engine untuk mengidentifikasi kunci pribadi pada HSM. Anda kemudian dapat menggunakan kunci pribadi untuk membuat permintaan penandatanganan sertifikat (CSR) dan menandatangani CSR untuk membuat sertifikat. 

Gunakan [`key generate-file`](cloudhsm_cli-key-generate-file.md)perintah untuk mengekspor kunci pribadi dalam format PEM palsu dan menyimpannya ke file. Ganti nilai berikut dengan nilai Anda sendiri: 
+ *<private\$1key\$1label>*— Label kunci pribadi yang Anda buat pada langkah sebelumnya. 
+ *<web\$1server\$1fake\$1pem.key>*— Nama file tempat kunci PEM palsu Anda akan ditulis.

```
aws-cloudhsm > key generate-file --encoding reference-pem --path <web_server_fake_pem.key> --filter attr.label=<private_key_label>
{
  "error_code": 0,
  "data": {
    "message": "Successfully generated key file"
  }
}
```

**Keluar dari CloudHSM CLI**

Jalankan perintah berikut untuk menghentikan CloudHSM CLI.

```
aws-cloudhsm > quit
```

Anda sekarang harus memiliki file baru di sistem Anda, yang terletak di jalur yang ditentukan oleh *<web\$1server\$1fake\$1pem.key>* dalam perintah sebelumnya. File ini adalah file kunci pribadi PEM palsu.

### Menghasilkan sertifikat yang ditandatangani sendiri
<a name="ssl-offload-provider-generate-certificate"></a>

Setelah Anda membuat kunci pribadi PEM palsu, Anda dapat menggunakan file ini untuk menghasilkan permintaan penandatanganan sertifikat (CSR) dan sertifikat.

Di lingkungan produksi, Anda biasanya menggunakan sertifikat otoritas (CA) untuk membuat sertifikat dari CSR. CA tidak diperlukan untuk lingkungan pengujian. Jika Anda menggunakan CA, kirim file CSR kepada mereka dan gunakan SSL/TLS sertifikat bertanda tangan yang mereka berikan kepada Anda di server web Anda untuk HTTPS. 

Sebagai alternatif untuk menggunakan CA, Anda dapat menggunakan AWS CloudHSM OpenSSL Dynamic Engine untuk membuat sertifikat yang ditandatangani sendiri. Sertifikat yang ditandatangani sendiri tidak dipercaya oleh peramban dan tidak boleh digunakan dalam lingkungan produksi. Sertifikat dapat digunakan dalam lingkungan pengujian. 

**Awas**  
Sertifikat yang ditandatangani sendiri hanya boleh digunakan dalam lingkungan pengujian. Untuk lingkungan produksi, gunakan metode yang lebih aman seperti otoritas sertifikat untuk membuat sertifikat. <a name="ssl-offload-provider-generate-certificate-prerequisites"></a>

**Instal dan konfigurasikan OpenSSL Dynamic Engine**

1. Hubungkan ke instans klien Anda.

1. [Instal OpenSSL Dynamic Engine AWS CloudHSM untuk Client SDK 5](openssl5-install.md)<a name="ssl-offload-provider-generate-certificate-steps"></a>

**Menghasilkan sertifikat**

1. Dapatkan salinan file PEM palsu Anda yang dihasilkan pada langkah sebelumnya.

1. Buat CSR

   Jalankan perintah berikut untuk menggunakan AWS CloudHSM OpenSSL Dynamic Engine untuk membuat permintaan penandatanganan sertifikat (CSR). Ganti *<web\$1server\$1fake\$1pem.key>* dengan nama file yang berisi kunci pribadi PEM palsu Anda. Ganti *<web\$1server.csr>* dengan nama file yang berisi CSR Anda. 

   Perintah `req` bersifat interaktif. Tanggapi setiap bidang. Informasi bidang disalin ke SSL/TLS sertifikat Anda. 
**catatan**  
Pembuatan CSR saat ini tidak didukung dengan Penyedia OpenSSL. Anda harus menggunakan OpenSSL Engine untuk langkah ini, tetapi operasi cipher TLS akan bekerja dengan Provider.

   ```
   $ openssl req -engine cloudhsm -new -key <web_server_fake_pem.key> -out <web_server.csr>
   ```

1. Buat sertifikat yang ditandatangani sendiri

   Jalankan perintah berikut untuk menggunakan AWS CloudHSM OpenSSL Dynamic Engine untuk menandatangani CSR Anda dengan kunci pribadi Anda di HSM Anda. Ini membuat sertifikat yang ditandatangani sendiri. Ganti nilai berikut dalam perintah dengan nilai Anda sendiri. 
   + *<web\$1server.csr>*— Nama file yang berisi CSR.
   + *<web\$1server\$1fake\$1pem.key>*— Nama file yang berisi kunci pribadi PEM palsu.
   + *<web\$1server.crt>*— Nama file yang akan berisi sertifikat server web Anda.

   ```
   $ openssl x509 -engine cloudhsm -req -days 365 -in <web_server.csr> -signkey <web_server_fake_pem.key> -out <web_server.crt>
   ```

Setelah Anda memiliki kunci pribadi dan sertifikat, buka[Langkah 3: Konfigurasikan server web](#ssl-offload-provider-configure-web-server).

## Langkah 3: Konfigurasikan server web
<a name="ssl-offload-provider-configure-web-server"></a>

Perbarui konfigurasi perangkat lunak server web Anda untuk menggunakan sertifikat HTTPS dan kunci privat PEM palsu yang Anda buat di [langkah sebelumnya](#ssl-offload-provider-generate-key-and-certificate). Ingatlah untuk mencadangkan sertifikat dan kunci yang sudah ada sebelum memulai. Ini akan menyelesaikan pengaturan perangkat lunak server web Linux Anda untuk SSL/TLS pembongkaran identitas server. AWS CloudHSM

Menyelesaikan langkah-langkah dari salah satu bagian berikut. 

**Topics**
+ [Konfigurasikan server web NGINX](#ssl-offload-provider-configure-nginx)
+ [Konfigurasikan server HAProxy web](#ssl-offload-provider-configure-haproxy)

### Konfigurasikan server web NGINX
<a name="ssl-offload-provider-configure-nginx"></a>

Gunakan bagian ini untuk mengkonfigurasi NGINX dengan Penyedia OpenSSL.<a name="configure-nginx-provider"></a>

**Untuk mengkonfigurasi NGINX untuk Penyedia OpenSSL**

1. Hubungkan ke instans klien Anda.

1. Jalankan perintah berikut untuk membuat direktori yang diperlukan untuk sertifikat server web dan kunci privat PEM palsu.

   ```
   $ mkdir -p /etc/pki/nginx/private
   ```

1. Jalankan perintah berikut untuk menyalin sertifikat server web Anda ke lokasi yang diperlukan. Ganti *<web\$1server.crt>* dengan nama sertifikat server web Anda.

   ```
   $ cp <web_server.crt> /etc/pki/nginx/server.crt
   ```

1. Jalankan perintah berikut untuk menyalin kunci privat PEM palsu Anda ke lokasi yang diperlukan. Ganti *<web\$1server\$1fake\$1pem.key>* dengan nama file yang berisi kunci pribadi PEM palsu Anda.

   ```
   $ cp <web_server_fake_pem.key> /etc/pki/nginx/private/server.key
   ```

1. Jalankan perintah berikut untuk mengubah kepemilikan file sehingga pengguna bernama*nginx* dapat membacanya.

   ```
   $ chown nginx /etc/pki/nginx/server.crt /etc/pki/nginx/private/server.key
   ```

1. Konfigurasikan OpenSSL untuk menggunakan penyedia. AWS CloudHSM Untuk informasi selengkapnya tentang mengonfigurasi Penyedia OpenSSL, lihat Penyedia [AWS CloudHSM OpenSSL untuk SDK Klien](openssl-provider-install.md) 5.

   1. Temukan file konfigurasi OpenSSL Anda:

      ```
      $ openssl version -d
      ```

      Anda akan melihat output yang mirip dengan:

      ```
      OPENSSLDIR: "/etc/pki/tls"
      ```

      File konfigurasi ada `openssl.cnf` di direktori ini.

   1. 
**catatan**  
Jangan memodifikasi file openssl.cnf default sistem Anda secara langsung. Ini mencegah operasi OpenSSL di seluruh sistem (SSH, koneksi TLS, dan layanan lainnya) dari routing secara tidak sengaja melalui penyedia CloudHSM.  
Menggunakan file konfigurasi terpisah memungkinkan Anda untuk mencakup penggunaan Penyedia CloudHSM hanya ke aplikasi tertentu yang memerlukan operasi kriptografi yang didukung HSM.

      Buat file konfigurasi OpenSSL baru dengan konten berikut:

      ```
      $ cat > <example-cloudhsm-openssl.cnf> << 'EOF'
      ## NOTE: This should point to the system default openssl config file.
      # Replace /etc/pki/tls with the path to your OpenSSL configuration directory
      .include </etc/pki/tls>/openssl.cnf
      
      # Override the existing provider_section to include AWS CloudHSM OpenSSL Provider as a 3rd party OpenSSL provider
      [provider_sect]
      default = default_sect
      # Include AWS CloudHSM CloudHSM OpenSSL provider
      cloudhsm = cloudhsm_sect
      
      [default_sect]
      activate = 1
      
      [cloudhsm_sect]
      activate = 1
      EOF
      ```

   1. Pastikan variabel `CLOUDHSM_PIN` lingkungan disetel dengan kredensyal pengguna kripto (CU) Anda:

      ```
      $ export CLOUDHSM_PIN=<username>:<password>
      ```

   1. Setel variabel `OPENSSL_CONF` lingkungan untuk menunjuk ke file konfigurasi Anda yang diperbarui dan verifikasi penyedia dimuat:

      ```
      $ OPENSSL_CONF=/path/to/example-cloudhsm-openssl.cnf openssl list -providers
      ```

      Anda akan melihat penyedia default dan penyedia CloudHSM terdaftar:

      ```
      OPENSSL_CONF=/path/to/example-cloudhsm-openssl.cnf openssl list -providers
      Providers:
        default
          name: OpenSSL Default Provider
          version: 3.2.2
          status: active
        cloudhsm
          name: AWS CloudHSM OpenSSL Provider
          version: 5.17.0
          status: active
      ```

1. Jalankan perintah berikut untuk mencadangkan file `/etc/nginx/nginx.conf`.

   ```
   $ cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
   ```

1. Perbarui konfigurasi NGINX.
**catatan**  
Setiap klaster dapat mendukung maksimum 1000 proses pekerja NGINX di semua server web NGINX.

------
#### [ Amazon Linux 2023 ]

   Gunakan editor teks untuk mengedit file `/etc/nginx/nginx.conf`. Ini mungkin memerlukan izin root Linux. Di bagian atas file, tambahkan baris berikut: 

   ```
   env CLOUDHSM_PIN;
   env OPENSSL_CONF;
   ```

   Kemudian tambahkan yang berikut ini ke bagian TLS file:

   ```
   # Settings for a TLS enabled server.
   server {
       listen       443 ssl http2 default_server;
       listen       [::]:443 ssl http2 default_server;
       server_name  _;
       root         /usr/share/nginx/html;
   
       ssl_certificate "/etc/pki/nginx/server.crt";
       ssl_certificate_key "/etc/pki/nginx/private/server.key";
       # It is *strongly* recommended to generate unique DH parameters for DHE ciphers
       # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048
       # ssl_dhparam "/etc/pki/nginx/dhparams.pem";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256";
       ssl_prefer_server_ciphers off;
   
       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;
   
       location / {
       }
   
       error_page 404 /404.html;
       location = /40x.html {
       }
   
       error_page 500 502 503 504 /50x.html;
       location = /50x.html {
       }
   }
   ```

------
#### [ RHEL 9 (9.2\$1) ]

   Gunakan editor teks untuk mengedit file `/etc/nginx/nginx.conf`. Ini mungkin memerlukan izin root Linux. Di bagian atas file, tambahkan baris berikut: 

   ```
   env CLOUDHSM_PIN;
   env OPENSSL_CONF;
   ```

   Kemudian tambahkan yang berikut ini ke bagian TLS file:

   ```
   # Settings for a TLS enabled server.
   server {
       listen       443 ssl http2 default_server;
       listen       [::]:443 ssl http2 default_server;
       server_name  _;
       root         /usr/share/nginx/html;
   
       ssl_certificate "/etc/pki/nginx/server.crt";
       ssl_certificate_key "/etc/pki/nginx/private/server.key";
       # It is *strongly* recommended to generate unique DH parameters for DHE ciphers
       # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048
       # ssl_dhparam "/etc/pki/nginx/dhparams.pem";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256";
       ssl_prefer_server_ciphers off;
   
       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;
   
       location / {
       }
   
       error_page 404 /404.html;
       location = /40x.html {
       }
   
       error_page 500 502 503 504 /50x.html;
       location = /50x.html {
       }
   }
   ```

------
#### [ RHEL 10 (10.0\$1) ]

   Gunakan editor teks untuk mengedit file `/etc/nginx/nginx.conf`. Ini mungkin memerlukan izin root Linux. Di bagian atas file, tambahkan baris berikut: 

   ```
   env CLOUDHSM_PIN;
   env OPENSSL_CONF;
   ```

   Kemudian tambahkan yang berikut ini ke bagian TLS file:

   ```
   # Settings for a TLS enabled server.
   server {
       listen       443 ssl http2 default_server;
       listen       [::]:443 ssl http2 default_server;
       server_name  _;
       root         /usr/share/nginx/html;
   
       ssl_certificate "/etc/pki/nginx/server.crt";
       ssl_certificate_key "/etc/pki/nginx/private/server.key";
       # It is *strongly* recommended to generate unique DH parameters for DHE ciphers
       # Generate them with: openssl dhparam -out /etc/pki/nginx/dhparams.pem 2048
       # ssl_dhparam "/etc/pki/nginx/dhparams.pem";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256";
       ssl_prefer_server_ciphers off;
   
       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;
   
       location / {
       }
   
       error_page 404 /404.html;
       location = /40x.html {
       }
   
       error_page 500 502 503 504 /50x.html;
       location = /50x.html {
       }
   }
   ```

------
#### [ Ubuntu 24.04 ]

   Gunakan editor teks untuk mengedit file `/etc/nginx/nginx.conf`. Ini mungkin memerlukan izin root Linux. Di bagian atas file, tambahkan baris berikut: 

   ```
   env CLOUDHSM_PIN;
   env OPENSSL_CONF;
   ```

   Kemudian tambahkan yang berikut ini ke bagian TLS file:

   ```
   # Settings for a TLS enabled server.
   server {
       listen       443 ssl http2 default_server;
       listen       [::]:443 ssl http2 default_server;
       server_name  _;
       root         /var/www/html;
   
       ssl_certificate "/etc/ssl/certs/server.crt";
       ssl_certificate_key "/etc/ssl/private/server.key";
       # It is *strongly* recommended to generate unique DH parameters for DHE ciphers
       # Generate them with: openssl dhparam -out /etc/ssl/certs/dhparams.pem 2048
       # ssl_dhparam "/etc/ssl/certs/dhparams.pem";
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout  10m;
       ssl_protocols TLSv1.2 TLSv1.3;
       ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256";
       ssl_prefer_server_ciphers off;
   
       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;
   
       location / {
       }
   
       error_page 404 /404.html;
       location = /40x.html {
       }
   
       error_page 500 502 503 504 /50x.html;
       location = /50x.html {
       }
   }
   ```

------

   Simpan file tersebut.

1. Cadangkan file konfigurasi `systemd`, dan kemudian atur jalur `EnvironmentFile`.

------
#### [ Amazon Linux 2023 ]

   1. Cadangkan `nginx.service` file:

      ```
      $ cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
      ```

   1. Buka `/lib/systemd/system/nginx.service` di editor teks. Di bawah bagian [Layanan], tambahkan:

      ```
      EnvironmentFile=/etc/sysconfig/nginx
      ```

------
#### [ RHEL 9 (9.2\$1) ]

   1. Cadangkan `nginx.service` file:

      ```
      $ cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
      ```

   1. Buka `/lib/systemd/system/nginx.service` di editor teks. Di bawah bagian [Layanan], tambahkan:

      ```
      EnvironmentFile=/etc/sysconfig/nginx
      ```

------
#### [ RHEL 10 (10.0\$1) ]

   1. Cadangkan `nginx.service` file:

      ```
      $ cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
      ```

   1. Buka `/lib/systemd/system/nginx.service` di editor teks. Di bawah bagian [Layanan], tambahkan:

      ```
      EnvironmentFile=/etc/sysconfig/nginx
      ```

------
#### [ Ubuntu 24.04 ]

   1. Cadangkan `nginx.service` file:

      ```
      $ cp /lib/systemd/system/nginx.service /lib/systemd/system/nginx.service.backup
      ```

   1. Buka `/lib/systemd/system/nginx.service` di editor teks. Di bawah bagian [Layanan], tambahkan:

      ```
      EnvironmentFile=/etc/sysconfig/nginx
      ```

------

1.  Periksa apakah file `/etc/sysconfig/nginx` ada, dan lakukan salah satu hal berikut: 
   + Jika file ada, buat cadangan file dengan menjalankan perintah berikut:

     ```
     $ cp /etc/sysconfig/nginx /etc/sysconfig/nginx.backup
     ```
   +  Jika file tidak ada, buka editor teks, dan kemudian membuat file bernama `nginx` dalam folder `/etc/sysconfig/`. 

1. Konfigurasikan lingkungan NGINX.

------
#### [ Amazon Linux 2023 ]

   Sebagai pengguna root Linux, buka `/etc/sysconfig/nginx` file di editor teks. Misalnya, 

   ```
   vi /etc/sysconfig/nginx
   ```

   Tambahkan kredensyal Cryptography User (CU) dan path ke file konfigurasi OpenSSL Anda:

   ```
   CLOUDHSM_PIN=<CU user name>:<password>
   OPENSSL_CONF=<path to example-cloudhsm-openssl.cnf>
   ```

   Ganti *<CU user name>* dan *<password>* dengan kredensyal CU. Ganti *<path to example-cloudhsm-openssl.cnf>* dengan path lengkap ke file konfigurasi yang Anda buat[Untuk mengkonfigurasi NGINX untuk Penyedia OpenSSL](#configure-nginx-provider).

    Simpan file tersebut.

------
#### [ RHEL 9 (9.2\$1) ]

   Buka file `/etc/sysconfig/nginx` di editor teks. Ini mungkin memerlukan izin root Linux. Tambahkan kredensyal Cryptography User (CU) dan path ke file konfigurasi OpenSSL Anda:

   ```
   CLOUDHSM_PIN=<CU user name>:<password>
   OPENSSL_CONF=<path to example-cloudhsm-openssl.cnf>
   ```

   Ganti *<CU user name>* dan *<password>* dengan kredensyal CU. Ganti *<path to example-cloudhsm-openssl.cnf>* dengan path lengkap ke file konfigurasi yang Anda buat[Untuk mengkonfigurasi NGINX untuk Penyedia OpenSSL](#configure-nginx-provider).

    Simpan file tersebut.

------
#### [ RHEL 10 (10.0\$1) ]

   Buka file `/etc/sysconfig/nginx` di editor teks. Ini mungkin memerlukan izin root Linux. Tambahkan kredensyal Cryptography User (CU) dan path ke file konfigurasi OpenSSL Anda:

   ```
   CLOUDHSM_PIN=<CU user name>:<password>
   OPENSSL_CONF=<path to example-cloudhsm-openssl.cnf>
   ```

   Ganti *<CU user name>* dan *<password>* dengan kredensyal CU. Ganti *<path to example-cloudhsm-openssl.cnf>* dengan path lengkap ke file konfigurasi yang Anda buat[Untuk mengkonfigurasi NGINX untuk Penyedia OpenSSL](#configure-nginx-provider).

    Simpan file tersebut.

------
#### [ Ubuntu 24.04 ]

   Buka file `/etc/sysconfig/nginx` di editor teks. Ini mungkin memerlukan izin root Linux. Tambahkan kredensyal Cryptography User (CU) dan path ke file konfigurasi OpenSSL Anda:

   ```
   CLOUDHSM_PIN=<CU user name>:<password>
   OPENSSL_CONF=<path to example-cloudhsm-openssl.cnf>
   ```

   Ganti *<CU user name>* dan *<password>* dengan kredensyal CU. Ganti *<path to example-cloudhsm-openssl.cnf>* dengan path lengkap ke file konfigurasi yang Anda buat[Untuk mengkonfigurasi NGINX untuk Penyedia OpenSSL](#configure-nginx-provider).

    Simpan file tersebut.

------

1. Mulai server web NGINX.

------
#### [ Amazon Linux 2023 ]

   Hentikan semua proses NGINX

   ```
   $ systemctl stop nginx
   ```

   Muat ulang `systemd` konfigurasi untuk mengambil perubahan terbaru

   ```
   $ systemctl daemon-reload
   ```

   Mulai NGINX

   ```
   $ systemctl start nginx
   ```

------
#### [ RHEL 9 (9.2\$1) ]

   Hentikan proses NGINX yang sedang berjalan

   ```
   $ systemctl stop nginx
   ```

   Muat ulang `systemd` konfigurasi untuk mengambil perubahan terbaru

   ```
   $ systemctl daemon-reload
   ```

   Mulai proses NGINX

   ```
   $ systemctl start nginx
   ```

------
#### [ RHEL 10 (10.0\$1) ]

   Hentikan proses NGINX yang sedang berjalan

   ```
   $ systemctl stop nginx
   ```

   Muat ulang `systemd` konfigurasi untuk mengambil perubahan terbaru

   ```
   $ systemctl daemon-reload
   ```

   Mulai proses NGINX

   ```
   $ systemctl start nginx
   ```

------
#### [ Ubuntu 24.04 ]

   Hentikan proses NGINX yang sedang berjalan

   ```
   $ systemctl stop nginx
   ```

   Muat ulang `systemd` konfigurasi untuk mengambil perubahan terbaru

   ```
   $ systemctl daemon-reload
   ```

   Mulai proses NGINX

   ```
   $ systemctl start nginx
   ```

------

Setelah Anda mengkonfigurasi NGINX, buka. [Verifikasi bahwa HTTPS menggunakan sertifikat yang Anda konfigurasikan](#ssl-offload-verify-https-connection-linux)

### Konfigurasikan server HAProxy web
<a name="ssl-offload-provider-configure-haproxy"></a>

Gunakan bagian ini untuk mengkonfigurasi HAProxy dengan Penyedia OpenSSL. Contoh berikut menunjukkan cara mengatur HAProxy dengan sertifikat dan kunci CloudHSM Anda.<a name="configure-haproxy-provider"></a>

**Untuk mengkonfigurasi HAProxy untuk Penyedia OpenSSL**

1. Cadangkan file sertifikat gabungan yang ada jika ada:

   ```
   $ cp server-combined.pem server-combined.pem.backup
   ```

1. Buat file sertifikat gabungan untuk HAProxy menggunakan sertifikat dan kunci PEM palsu CloudHSM Anda:

   ```
   $ cat server.crt server.key > server-combined.pem
   ```

1. Cadangkan HAProxy konfigurasi yang ada:

   ```
   $ cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.backup
   ```

1. Buat konfigurasi offload CloudHSM TLS baru di: `/etc/haproxy/haproxy.cfg`

   ```
   global
       daemon
       ssl-provider cloudhsm
       # It is *strongly* recommended to generate unique DH parameters
       # Generate them with: openssl dhparam -out /etc/haproxy/dhparams.pem 2048
       # ssl-dh-param-file /etc/haproxy/dhparams.pem
       ssl-default-bind-ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305
       ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
       ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
   
   defaults
       mode http
       timeout connect 5000ms
       timeout client 50000ms
       timeout server 50000ms
   
   frontend haproxy_frontend
       bind *:443 ssl crt /path/to/server-combined.pem
       default_backend web_servers
   
   backend web_servers
       server web1 127.0.0.1:8080 check
   ```

   Perbarui jalur sertifikat agar sesuai dengan lokasi file Anda.

1. Konfigurasikan systemd untuk menggunakan file lingkungan untuk HAProxy. Lokasi tergantung pada distribusi Linux Anda.

------
#### [ Amazon Linux and RHEL ]

   Cadangkan dan modifikasi file HAProxy layanan:

   ```
   $ cp /lib/systemd/system/haproxy.service /lib/systemd/system/haproxy.service.backup
   ```

   Edit `/lib/systemd/system/haproxy.service` dan tambahkan baris berikut di bawah bagian [Layanan]:

   ```
   EnvironmentFile=/etc/sysconfig/haproxy
   ```

------
#### [ Ubuntu ]

   Cadangkan dan modifikasi file HAProxy layanan:

   ```
   $ cp /lib/systemd/system/haproxy.service /lib/systemd/system/haproxy.service.backup
   ```

   Edit `/lib/systemd/system/haproxy.service` dan tambahkan baris berikut di bawah bagian [Layanan]:

   ```
   EnvironmentFile=/etc/default/haproxy
   ```

------

1. Buat file lingkungan di lokasi yang sesuai untuk sistem Anda.

------
#### [ Amazon Linux and RHEL ]

   Cadangkan file HAProxy lingkungan jika ada:

   ```
   $ cp /etc/sysconfig/haproxy /etc/sysconfig/haproxy.backup
   ```

   Buat file HAProxy lingkungan `/etc/sysconfig/haproxy` dengan konten berikut:

   ```
   CLOUDHSM_PIN=<CU user name>:<password>
   ```

------
#### [ Ubuntu ]

   Cadangkan file HAProxy lingkungan jika ada:

   ```
   $ cp /etc/default/haproxy /etc/default/haproxy.backup
   ```

   Buat file HAProxy lingkungan `/etc/default/haproxy` dengan konten berikut:

   ```
   CLOUDHSM_PIN=<CU user name>:<password>
   ```

------

   Ganti *<CU user name>* dan *<password>* dengan kredensyal CU Anda.

1. Muat ulang konfigurasi systemd:

   ```
   $ systemctl daemon-reload
   ```

1. Mulailah HAProxy dengan konfigurasi offload CloudHSM TLS:

   ```
   $ systemctl start haproxy
   ```

   Anda juga dapat menjalankan HAProxy langsung dengan file konfigurasi khusus:

   ```
   $ haproxy -f /path/to/haproxy-cloudhsm.cfg
   ```

Setelah Anda mengkonfigurasi HAProxy, buka[Verifikasi bahwa HTTPS menggunakan sertifikat yang Anda konfigurasikan](#ssl-offload-verify-https-connection-linux).

## Langkah 4: Aktifkan lalu lintas HTTPS dan verifikasi sertifikat
<a name="ssl-offload-enable-traffic-and-verify-certificate-provider"></a>

Setelah Anda mengonfigurasi server web untuk SSL/TLS dibongkar AWS CloudHSM, tambahkan instance server web Anda ke grup keamanan yang memungkinkan lalu lintas HTTPS masuk. Hal ini memungkinkan klien, seperti peramban web, untuk membuat koneksi HTTPS dengan server web Anda. Kemudian buat koneksi HTTPS ke server web Anda dan verifikasi bahwa itu menggunakan sertifikat yang Anda konfigurasikan untuk SSL/TLS dibongkar. AWS CloudHSM

**Topics**
+ [Aktifkan koneksi HTTPS masuk](#ssl-offload-add-security-group-linux)
+ [Verifikasi bahwa HTTPS menggunakan sertifikat yang Anda konfigurasikan](#ssl-offload-verify-https-connection-linux)

### Aktifkan koneksi HTTPS masuk
<a name="ssl-offload-add-security-group-linux"></a>

Untuk menyambungkan ke server web Anda dari klien (seperti peramban web), buat grup keamanan yang mengizinkan koneksi HTTPS masuk. Secara khusus, ini harus mengizinkan koneksi TCP masuk pada port 443. Tetapkan grup keamanan ini ke server web Anda. 

**Untuk membuat grup keamanan untuk HTTPS dan menetapkannya ke server web Anda**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Pilih **Grup keamanan** di panel navigasi.

1. Pilih **Buat grup keamanan**.

1. Untuk **Buat Grup Keamanan**, lakukan hal berikut:

   1. Untuk **Nama grup keamanan**, ketik nama untuk grup keamanan yang Anda buat.

   1. (Opsional) Ketik deskripsi grup keamanan yang Anda buat.

   1. Untuk **VPC**, pilih VPC yang berisi instans Amazon EC2 server web Anda.

   1. Pilih **Tambahkan Aturan**.

   1. Untuk **Type**, pilih **HTTPS** dari jendela drop-down.

   1. Untuk **Sumber**, masukkan lokasi sumber.

   1. Pilih **Buat grup keamanan**.

1. Di panel navigasi, pilih **Instans**.

1. Pilih kotak centang di samping instans server web Anda.

1. Pilih menu tarik-turun **Tindakan** di bagian atas halaman. Pilih **Keamanan** dan kemudian **Ubah Grup Keamanan**.

1. Untuk **grup keamanan terkait**, pilih kotak pencarian dan pilih grup keamanan yang Anda buat untuk HTTPS. Kemudian pilih **Tambahkan Grup Keamanan**.

1. Pilih **Simpan**. 

### Verifikasi bahwa HTTPS menggunakan sertifikat yang Anda konfigurasikan
<a name="ssl-offload-verify-https-connection-linux"></a>

Setelah menambahkan server web ke grup keamanan, Anda dapat memverifikasi bahwa SSL/TLS offload menggunakan sertifikat yang ditandatangani sendiri. Anda dapat melakukan ini dengan peramban web atau dengan alat seperti [OpenSSL s\$1client](https://www.openssl.org/docs/manmaster/man1/s_client.html).

**Untuk memverifikasi SSL/TLS offload dengan browser web**

1. Gunakan browser web untuk terhubung ke server web Anda menggunakan nama DNS publik atau alamat IP server. Pastikan URL di bilah alamat dimulai dengan https://. Misalnya, **https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/**.
**Tip**  
Anda dapat menggunakan layanan DNS seperti Amazon Route 53 untuk merutekan nama domain situs web Anda (misalnya, https://www.example.com/) ke server web Anda. Untuk informasi selengkapnya, lihat [Perutean Lalu Lintas ke Instans Amazon EC2](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-ec2-instance.html)dalam *Panduan Developer Amazon Route 53 * atau dalam dokumentasi untuk layanan DNS Anda.

1. Gunakan peramban web Anda untuk melihat sertifikat server web. Untuk informasi lebih lanjut, lihat hal berikut:
   + Para Mozilla Firefox, lihat [Lihat Sertifikat](https://support.mozilla.org/en-US/kb/secure-website-certificate#w_view-a-certificate) di situs web Dukung Mozilla.
   + Untuk Google Chrome, lihat [Memahami Masalah Keamanan](https://developers.google.com/web/tools/chrome-devtools/security) pada Alat Google Tools untuk Pengembang Web.

   Peramban web lain mungkin memiliki fitur serupa yang dapat Anda gunakan untuk melihat sertifikat server web.

1. Pastikan bahwa SSL/TLS sertifikat adalah salah satu yang Anda konfigurasi server web Anda untuk digunakan.

**Untuk memverifikasi SSL/TLS offload dengan OpenSSL s\$1client**

1. Jalankan perintah OpenSSL berikut untuk terhubung ke server web Anda menggunakan HTTPS. Ganti *<server name>* dengan nama DNS publik atau alamat IP server web Anda. 

   ```
   openssl s_client -connect <server name>:443
   ```
**Tip**  
Anda dapat menggunakan layanan DNS seperti Amazon Route 53 untuk merutekan nama domain situs web Anda (misalnya, https://www.example.com/) ke server web Anda. Untuk informasi selengkapnya, lihat [Perutean Lalu Lintas ke Instans Amazon EC2](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-ec2-instance.html)dalam *Panduan Developer Amazon Route 53 * atau dalam dokumentasi untuk layanan DNS Anda.

1. Pastikan bahwa SSL/TLS sertifikat adalah salah satu yang Anda konfigurasi server web Anda untuk digunakan.

Anda sekarang memiliki situs web yang diamankan dengan HTTPS. Kunci pribadi untuk server web disimpan dalam HSM di AWS CloudHSM cluster Anda. 

Untuk menambahkan penyeimbang beban, lihat[Tambahkan penyeimbang beban dengan Elastic Load Balancing AWS CloudHSM untuk (opsional)](third-offload-add-lb.md).