要在 Apache2 上启用 HTTPS,您需要完成以下步骤:
- 安装所需的软件包:
- 在 Ubuntu 上,使用以下命令安装 Apache2:
sudo apt install apache2
- 在 CentOS 上,使用以下命令安装 Apache2:
sudo yum install httpd
- 生成 SSL 证书和密钥:
- 您可以使用自签名证书进行测试,或者从证书颁发机构获取有效的 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
- 配置 Apache2 以使用 SSL:
- 在 Ubuntu 上,使用以下命令启用 SSL 模块:
sudo a2enmod ssl
- 在 CentOS 上,SSL 模块已经默认启用。
- 创建 SSL 虚拟主机配置文件:
- 在 Ubuntu 上,使用以下命令创建新的配置文件:
sudo nano /etc/apache2/sites-available/default-ssl.conf
- 在 CentOS 上,使用以下命令创建新的配置文件:
sudo nano /etc/httpd/conf.d/ssl.conf
- 将以下内容添加到配置文件中:
<VirtualHost _default_:443> ServerAdmin your_email@example.com DocumentRoot /var/www/html ServerName your_domain.com SSLEngine on SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
- 启用 SSL 虚拟主机配置:
- 在 Ubuntu 上,使用以下命令启用配置文件:
sudo a2ensite default-ssl.conf
- 在 CentOS 上,无需启用配置文件。
- 重新加载 Apache2 配置:
- 在 Ubuntu 上,使用以下命令重新加载配置:
sudo systemctl reload apache2
- 在 CentOS 上,使用以下命令重新加载配置:
sudo systemctl reload httpd
- 防火墙设置:
- 在 Ubuntu 上,使用以下命令允许 HTTPS 流量:
sudo ufw allow 'Apache Full'
- 在 CentOS 上,使用以下命令允许 HTTPS 流量:
sudo firewall-cmd --permanent --add-service=https
- 重新加载防火墙规则:
- 在 Ubuntu 上,使用以下命令重新加载防火墙:
sudo ufw reload
- 在 CentOS 上,使用以下命令重新加载防火墙:
sudo firewall-cmd --reload
- 在 Ubuntu 上,使用以下命令重新加载防火墙:
现在,您的 Apache2 服务器已经配置为使用 HTTPS 。您可以通过访问 https://your_domain.com
来测试它。
Learn more: