สร้าง self-signed SSL certificate using OpenSSL
สร้าง self-signed SSL certificate using OpenSSL
กรณีที่เราต้องการทดสอบระบบโดยใช้ https หรือ บางระบบหากไม่เรียกผ่านระบบด้วย https จะไม่สามารถเชื่อมต่อได้ หรือกรณีที่เราไม่มี หรือไม่ได้จดโดเมน แต่เราต้องการใช้ https ซึ่งหากใช้ระบบ Certbot หากใช้ ip จะไม่สามารถใช้ได้ ก็สามารถจะใช้วิธีนี้ได้ แต่ก็ยังมีคำเตือนว่าไม่ปลอดภัย แต่ก็สามารถไว้ทดสอบระบบได้
เริ่มแรกใช้คำสั่ง ตามข้างล่าง ให้จำเส้นทางที่เก็บไฟล์ selfsigned.key selfsigned.crt เพราะเราต้องไปกำหนดค่าในไฟล์คอนฟิก
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /usr/local/openssl/private/selfsigned.key -out /usr/local/openssl/certs/selfsigned.crt
หลังจากนั้น ก็เข้าไปเปิดค่า module ได้แก่ mod_ssl.so,httpd-ssl.conf ,mod_socache_shmcb.so โดยการไปเอาเครื่องหมาย # ออก
#vi /usr/local/etc/apache24/httpd.conf
#LoadModule slotmem_plain_module libexec/apache24/mod_slotmem_plain.so
LoadModule ssl_module libexec/apache24/mod_ssl.so
#LoadModule dialup_module libexec/apache24/mod_dialup.so
Include etc/apache24/extra/httpd-ssl.conf
LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so
สำรองไฟล์ httpd-ssl.conf
cp /usr/local/etc/apache24/extra/httpd-ssl.conf /usr/local/etc/apache24/extra/httpd-ssl.conf.bak
แก้ไขไฟล์ httpd-ssl.conf
vi /usr/local/etc/apache24/extra/httpd-ssl.conf
ใส่ข้อมูลตามนี้ลงไป แต่ต้องแก้ ip ให้ตรงกับที่ต้องการจะใช้
SSLCertificateFile "/usr/local/openssl/certs/selfsigned.crt"
SSLCertificateKeyFile "/usr/local/openssl/private/selfsigned.key"
VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "/usr/local/www/apache24/data"
ServerName 192.168.5.13:443
ServerAdmin you@example.com
ErrorLog "/var/log/httpd-error.log"
TransferLog "/var/log/httpd-access.log"