要配置Apache 2的SSL,您需要执行以下步骤:
确保已安装Apache 2和OpenSSL。如果尚未安装,请使用以下命令安装:
sudo apt-get update
sudo apt-get install apache2 openssl
生成SSL证书和私钥。使用以下命令生成自签名证书(仅供开发和测试使用):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
在生成过程中,您需要提供一些证书信息。
创建一个SSL配置文件。使用以下命令创建一个名为ssl-params.conf
的新文件:
sudo nano /etc/apache2/conf-available/ssl-params.conf
将以下内容复制到文件中:
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
SSLSessionTickets Off
保存并关闭文件。
启用SSL模块和新创建的配置文件。使用以下命令启用SSL模块:
sudo a2enmod ssl
然后使用以下命令启用新创建的配置文件:
sudo a2enconf ssl-params
配置虚拟主机。使用以下命令编辑默认的SSL虚拟主机文件:
sudo nano /etc/apache2/sites-available/default-ssl.conf
更新文件中的以下行:
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
保存并关闭文件。
禁用默认的非SSL虚拟主机配置文件。使用以下命令禁用该文件:
sudo a2dissite 000-default.conf
启用SSL虚拟主机配置文件。使用以下命令启用该文件:
sudo a2ensite default-ssl.conf
重新启动Apache服务。使用以下命令重新启动Apache:
sudo service apache2 restart
现在您已成功配置Apache 2的SSL。您可以通过访问https://your_domain
来验证SSL是否正常工作,其中your_domain
是您的域名或服务器的IP地址。