为 apache2 开启 https

要在 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 &lt;FilesMatch "\.(cgi|shtml|phtml|php)$"&gt; SSLOptions +StdEnvVars &lt;/FilesMatch&gt; &lt;Directory /usr/lib/cgi-bin&gt; SSLOptions +StdEnvVars &lt;/Directory&gt; 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

现在,您的 Apache2 服务器已经配置为使用 HTTPS 。您可以通过访问 https://your_domain.com 来测试它。


Learn more:

  1. Ubuntu 下安装和配置 apache2 并启用 https_ubuntu apache2 配置 443 反向代理-CSDN 博客
  2. Apache 配置 HTTPS 功能 - 温柔易淡 - 博客园
  3. 下载并在 Ubuntu Apache2 配置 SSL 证书实现网站 HTTPS 加密_数字证书管理服务 (原 SSL 证书)(SSL Certificate)-阿里云帮助中心

发表评论