发布作者: yi
百度收录: 正在检测是否收录...
作品采用: 《 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 》许可协议授权
安装 Apache2 和 SSL 模块
apt update
apt install apache2 openssl
a2enmod ssl
生成 SSL 证书(自签名)
mkdir /etc/apache2/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/apache2/ssl/apache.key \
-out /etc/apache2/ssl/apache.crt
在生成过程中需要填写一些信息(如国家、组织等),Common Name 填写您的域名或服务器IP。
配置 Apache2
创建或编辑 SSL 配置文件:
vim /etc/apache2/sites-available/default-ssl.conf
添加以下内容(根据您的需求调整):
apache
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin 填写你的邮箱
ServerName 填写域名或者ip
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
<FilesMatch "\.(cgishtmlphtmlphp)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
启用 SSL 站点并重启 Apache2
a2ensite default-ssl.conf
systemctl restart apache2
防火墙设置(如有需要)
sudo ufw allow 'Apache Full'
验证 HTTPS
在浏览器中访问 https://服务器ip
,由于是自签名证书,浏览器会显示安全警告,您可以手动继续访问。
可选:使用 Let's Encrypt 免费证书
如果您有域名,推荐使用 Let's Encrypt:
apt install certbot python3-certbot-apache
certbot --apache
certbot --apache -d 你的域名
certbot --apache -d 你的域名 \
--email 你的邮箱 \
--agree-tos \
--non-interactive
注意事项
—— 评论区 ——