Instal Sertifikat SSL di Apache Mod_SSL

Konfigurasi Apache dengan SSL

Petunjuk berikut mengasumsikan bahwa Anda ingin menjalankan kedua server aman (di port 443) dan server biasa (di port 80). Pertama, Anda perlu mengkonfigurasi server untuk mendengarkan di kedua port. Sunting /etc/apache2/ports.conf (dalam bahasa Debian; ini termasuk dalam apache2.conf) atau edit /etc/apache2/apache2.conf langsung untuk memasukkan baris:

Dengarkan 80 Dengarkan 443

Selanjutnya, edit /etc/apache2/sites-enabled/yoursite untuk menggunakan pengaturan SSL. Memisahkan pengaturan server yang teratur dan aman dengan menggunakan VirtualHosts adalah opsi termudah dalam hal perawatan. Konfigurasi apa pun di luar bagian VirtualHosts (seperti pengaturan ServerAdmin) akan berlaku untuk kedua (dan lainnya) VirtualHosts.

Catatan: Dimulai dengan Apache 2.4.8, praktik menjaga sertifikat server dan rantai sertifikat perantara dalam file yang terpisah telah ditinggalkan. Metode yang sekarang dan yang lama dijelaskan dalam tab yang dapat diklik di bawah ini.
Apache 2.4.8 atau lebih tinggiApache 2.4.7 atau lebih rendah

Versi Apache 2.4.8 dan di atasnya mengharapkan sertifikat server Anda digabungkan dengan sertifikat perantara dalam satu file. Untuk mengunduh file yang dirantai dari SSL.com, pilih Nginx tautan unduhan di akun portal Anda:

Nginx

Sebagai alternatif, Anda dapat menggabungkan sertifikat yang ada dan file perantara dengan perintah seperti berikut:

$ cat /etc/ssl/private/ca-bundle-client.crt >> /etc/ssl/private/yourdomain.crt

Tambahkan bagian berikut ke file konfigurasi Anda:

# ================================================= # SSL /TLS pengaturan # ================================================ = NameVirtualHost *: 443 DocumentRoot "/ var / www / yoursite" SSLEngine di SSLCertificateFile /etc/ssl/private/yourdomain.chained.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key

Beberapa catatan tentang konfigurasi ini:

  • SSLEngine harus diaktifkan agar server menggunakan SSL.
  • DocumentRoot mengatur direktori root untuk host virtual ini. Ini berarti Anda dapat memisahkan konten aman sepenuhnya dari konten biasa.
  • SSLCertificateFile harus ditetapkan ke lokasi tempat Anda meletakkan file dengan sertifikat server dan rantai perantara Anda.
  • SSLCertificateKeyFile harus ditetapkan ke lokasi tempat Anda meletakkan file kunci pribadi Anda.

Tambahkan bagian berikut ke file konfigurasi Anda:

# ================================================= # SSL /TLS pengaturan # ================================================ = NameVirtualHost *: 443 DocumentRoot "/ var / www / yoursite" SSLEngine di SSLCertificateFile /etc/ssl/private/yourdomain.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key SSLCertificateChainFile / etc / ssl / private / ca-bundle- client.crt

Beberapa catatan tentang konfigurasi ini:

  • SSLEngine harus diaktifkan agar server menggunakan SSL.
  • DocumentRoot mengatur direktori root untuk host virtual ini. Ini berarti Anda dapat memisahkan konten aman sepenuhnya dari konten biasa.
  • SSLCertificateFile, SSLCertificateChainFile, dan SSLCertificateKeyFile harus ditetapkan ke lokasi tempat Anda meletakkan sertifikat, file kunci menengah dan pribadi, masing-masing.

Untuk menjalankan server reguler pada port 80, tambahkan bagian berikut ke file konfigurasi:

NameVirtualHost *: 80 DocumentRoot "/ var / www / yoursite" # Penyiapan direktori khusus, opsi, dll. # Sebagian besar opsi ini kemungkinan akan diatur di luar bagian # VirtualHosts.

Setelah Anda menyimpan file konfigurasi yang diedit, restart server web. Jika Anda memang menggunakan frasa sandi saat membuat sertifikat, Anda harus memasukkannya saat ditantang.

pengujian

Buat halaman index.html dasar di mana pun direktori root untuk server web Anda berada, jika Anda belum memiliki konten di sana.

Lalu arahkan browser web Anda di https://www.yoursite.com. Anda akan melihat koneksi SSL terbuka dan halaman terkirim. Jika Anda menggunakan sertifikat yang ditandatangani sendiri, browser Anda akan memunculkan peringatan yang memperingatkan Anda bahwa identitas server tidak dapat diverifikasi. Anda dapat memilih untuk melihat dan menerima sertifikat. Jika menggunakan sertifikat eksternal, semuanya harus dilakukan tanpa intervensi.

Pastikan juga bahwa Anda tidak dapat mengakses konten yang dilindungi menggunakan http: //. Jika Anda mencoba, Anda akan mendapatkan pesan kesalahan.

Penyelesaian masalah

Jika tidak berfungsi seperti yang diharapkan, periksa dulu apakah server Anda benar-benar berjalan, menggunakan ps -a | grep apache. Jika itu tidak mengembalikan apa pun, coba mulai ulang, dan periksa pesan kesalahan di terminal.

Periksa juga bahwa izin pada file kunci dan sertifikat Anda diatur dengan benar (lihat di atas), serta izin pada file HTML pengujian Anda dan direktori induknya.

Selanjutnya, periksa log. Anda harus memeriksa log server utama dan juga log SSL yang Anda siapkan di file konfigurasi di atas. Jika Anda tidak mendapatkan sesuatu yang berguna, coba ubah nilai LogLevel di file konfigurasi Apache2 menjadi "debug", mulai ulang Apache2, dan uji lagi. Ini akan memberikan lebih banyak data logfile.

Jika Anda juga menjalankan server web biasa pada port 80, coba ambil halaman uji melalui http: // daripada https: // untuk membantu mengidentifikasi apakah masalahnya ada pada server web atau dengan koneksi SSL. Perhatikan bahwa dalam penyiapan di atas, direktori root server web berbeda untuk http: // dan https: //, jadi Anda tidak (atau tidak boleh!) Dapat mengakses konten yang sama. Jika halaman pengujian Anda di direktori root http: // berfungsi dengan baik, dan halaman pengujian Anda di direktori root https: // tidak, hal itu dapat membantu Anda menemukan masalahnya.

Jika masalahnya adalah koneksi SSL, alat yang bermanfaat adalah s_client, yang merupakan alat diagnostik untuk pemecahan masalah TLS/ Koneksi SSL. Penggunaan dasarnya adalah: /usr/bin/openssl s_client -connect localhost:443. Ada banyak opsi lain juga, di mana Anda dapat memeriksa dokumentasinya. Jika Anda mendapatkan pesan kesalahan, ini akan membantu Anda menemukan masalahnya.

Terima kasih telah memilih SSL.com! Jika Anda memiliki pertanyaan, silakan hubungi kami melalui email di Support@SSL.com, panggil 1-877-SSL-SECURE, atau cukup klik tautan obrolan di kanan bawah halaman ini.

Berlangganan Buletin SSL.com

Jangan lewatkan artikel baru dan pembaruan dari SSL.com

Tetap Terinformasi dan Aman

SSL.com adalah pemimpin global dalam keamanan siber, PKI dan sertifikat digital. Daftar untuk menerima berita industri terkini, tips, dan pengumuman produk dari SSL.com.

Kami sangat menantikan tanggapan Anda

Ikuti survei kami dan beri tahu kami pendapat Anda tentang pembelian terakhir Anda.