สร้าง 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" |