Kenapa harus menambahkan HTTPS ke situs WordPress mu?
HTTPS mengamankan data yang ditransfer pada jaringan dengan meng-enkripsi data tersebut sehingga intruder tidak dapat melihat dan mengubah data. Menambahkan HTTPS ke situs kita adalah hal yang penting, baik situs kita adalah sebuah web ecommerce besar maupun sebuah blog sederhana. Pada artikel ini akan dijelaskan cara untuk menambahkan HTTPS ke situs WordPress menggunakan Amazon CloudFront.
Kenapa menggunakan Amazon CloudFront?
Kita bisa mendapatkan sertifikat public SSL/TLS secara gratis yang disediakan oleh AWS. Ini bisa diintegrasikan dengan CloudFront. Kita dapat menggunakan CloudFront secara gratis untuk satu tahun, karena Amazon menawarkan AWS Free Usage Tier untuk satu tahun. Info lebih lanjut tentang CloudFront pricing di sini. Selain itu CloudFront juga berperan sebagai CDN yang berarti dapat meningkatkan kecepatan memuat website kita.
Lihat diagram berikut ini.
Request dari user diterima oleh CloudFront. Apabila cache tersedia, cache akan dikembalikan ke user. Kalau cache tidak ada, CloudFront akan mengambil resource terbaru dari WordPress. Kita mengarahkan subdomain www
ke alamat CloudFront dan subdomain lain seperti origin
ke alamat server WordPress.
Langkah-langkah nya:
1. Install AWS for WordPress Plugin
Ada sebuah plugin yang dapat membantu kita melakukan ini. Install dan aktifkan plugin AWS for WordPress Plugin
.
Kita akan ke sini lagi nanti. Sekarang kita perlu membuat AWS IAM dulu.
2. Buat AWS IAM
- Buka IAM dashboard
Klik
Services
lalu cariIAM
dan klik. Lalu klikUsers
- Klik
Add User
- Masukkan
User name
. Pilih typeProgrammatic access
- Set permission
Klik
Attach existing policies directly
. CariAWSForWordPressPluginPolicy
dan centang checkbox nya. - Tambahkan tag (optional)
- Klik Create
- Download credential dan simpan dengan aman
3. Setup plugin AWS for WordPress
- Buka halaman admin WordPress
- Buka halaman plugin AWS for WordPress, masukkan IAM access key
- Klik Save
- Buka halaman CloudFront pada plugin dengan mengklik CloudFront di sidebar
- Masukkan Origin Domain Name dan CloudFront Alternate Domain Name. Origin Name mengarahkan ke alamat server WordPress, sedangkan CloudFront Alternate Domain Name mengarahkan ke alamat CloudFront
- Klik Initiate Setup Plugin akan membuat sertifikat untuk situs kita di ACM (AWS Certificate Manager), lalu membuat CloudFront distribution.
- Certificate validationKita perlu menambahkan record tersebut di DNS record kita.
- Setelah DNS record ditambahka, klik
Check status of SSL/TLS certificate
. Kalau sertifikat sudah divalidasi, plugin akan membuat CloudFront distribution. Kita perlu menunggu sebentar sampai proses ini selesai. - Arahkan subdomain
www
ke alamat CloudFront
4. Ubah CloudFront Origin Protocol Policy
Kita perlu mengubah origin protocol policy di CloudFront menjadi HTTP Only
karena server WordPress kita hanya menghandle HTTP request.
- Buka dashboard CloudFront di AWS console. Bisa search CloudFront di search bar.
- Klik CloudFront distribution mu, kemudian klik tab
Origin and Origin Group
. - Centang origin, kemudian klik
Edit
- Ubah origin protocol policy ke
HTTP Only
, kemudian klik Yes, edit. Tunggu sebentar sampai perubahan tadi sudah deployed.
5. Update wp-config.php
Buka file wp-config.php
. Tambahkan line dibawah ini sebelum require_once ABSPATH . 'wp-settings.php';
$_SERVER['HTTPS']='on';
6. Pastikan DNS record mu sudah sesuai
Pastikan kalau www
sudah diarahkan ke alamat CloudFront dan origin
ke alamat WordPress.
Sudah selesai. Sekarang situs WordPress mu sudah bisa diakses menggunakan HTTPS. Berikan komentar kalau menemukan masalah atau kesulitan.