AWS Debian环境下Apache2服务器搭建及自签名证书生成问题咨询
AWS Debian 系统搭建 Apache2 Web 服务器完整步骤
一、确认 Apache2 运行状态
完成安装后,先验证服务状态:
sudo systemctl status apache2
若服务未运行,启动并设置开机自启:
sudo systemctl start apache2 sudo systemctl enable apache2
二、生成自签名 SSL 证书(替代 Debian Wiki 方案)
使用 openssl 直接生成,兼容性更稳定:
- 创建证书存储目录(规范管理证书文件):
sudo mkdir -p /etc/apache2/ssl
- 生成私钥与自签名证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
执行后会提示填写证书信息,重点注意 Common Name 项:填写服务器的公网 IP 或域名(如 AWS EC2 的公网 IP),其余信息可按需填写或留空。
三、配置 Apache 启用 HTTPS
- 启用 SSL 模块:
sudo a2enmod ssl
- 启用默认 SSL 站点配置:
sudo a2ensite default-ssl.conf
- 编辑 SSL 配置文件,指定证书路径:
sudo nano /etc/apache2/sites-available/default-ssl.conf
找到以下两行,替换为我们生成的证书路径:
SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key
编辑完成后按 Ctrl+O 保存,Ctrl+X 退出编辑器。
- (可选)配置 HTTP 自动跳转 HTTPS
启用 rewrite 模块:
sudo a2enmod rewrite
编辑默认 HTTP 站点配置:
sudo nano /etc/apache2/sites-available/000-default.conf
在 <VirtualHost *:80> 代码块内添加以下内容:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
保存并退出。
四、验证配置并重启服务
检查 Apache 配置语法是否正确:
sudo apache2ctl configtest
若输出 Syntax OK,则重启服务使配置生效:
sudo systemctl restart apache2
五、测试服务
- 浏览器访问:输入
https://你的服务器公网IP/,浏览器会提示证书不安全(自签名证书特性),选择继续访问即可看到 Apache 默认页面。 - 命令行测试:使用
curl忽略证书验证访问:
curl -k https://你的服务器公网IP/
返回页面 HTML 内容则说明配置成功。
内容的提问来源于stack exchange,提问作者StenHD
相关产品推荐
相关产品推荐

