温馨提示×

apache2在centos如何加密

小樊
35
2026-10-08 20:57:52
栏目: 网络安全

在 CentOS 上“加密 Apache2(httpd)”通常指 启用 HTTPS(TLS/SSL 加密)。CentOS 默认使用 httpd 而非 apache2(apache2 是 Debian/Ubuntu 的叫法)。下面以 CentOS 7/8 + httpd 为例说明。


一、安装 mod_ssl

# CentOS 7
yum install httpd mod_ssl -y

# CentOS 8
dnf install httpd mod_ssl -y

安装后会生成:

  • /etc/httpd/conf.d/ssl.conf

二、获取 SSL 证书

方式 1:自签名证书(测试用)

openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/pki/tls/private/localhost.key \
  -out /etc/pki/tls/certs/localhost.crt

方式 2:Let’s Encrypt(生产推荐)

yum install certbot python2-certbot-apache -y
certbot --apache

三、配置 HTTPS(手动方式)

编辑:

vi /etc/httpd/conf.d/ssl.conf

关键配置:

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/localhost.crt
    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
</VirtualHost>

四、HTTP 强制跳转 HTTPS(可选)

<VirtualHost *:80>
    ServerName example.com
    RewriteEngine On
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
</VirtualHost>

五、启动并放行防火墙

systemctl enable httpd
systemctl start httpd

firewall-cmd --permanent --add-service=https
firewall-cmd --reload

六、验证

curl -I https://localhost

浏览器访问:

https://your-server-ip

七、常见补充

  • 加密 配置文件本身(如密码):用 mod_ssl + 权限控制
  • 加密 磁盘:用 LUKS
  • 加密 传输内容:HTTPS 已满足

如果你指的是:

  • Apache 配置文件加密
  • 客户端证书双向认证
  • 数据库连接加密

可以告诉我具体场景。

0 踩