温馨提示×

centos apache怎样开启https

小樊
35
2026-09-18 02:59:19
栏目: 智能运维

在 CentOS 上让 Apache 开启 HTTPS,一般步骤是:安装 mod_ssl → 申请/准备证书 → 配置 SSL 虚拟主机 → 开放防火墙 → 重启 Apache。下面以 CentOS 7/8 + Apache(httpd) 为例说明。


一、安装 Apache 和 SSL 模块

CentOS 7

yum install httpd mod_ssl -y
systemctl enable httpd
systemctl start httpd

CentOS 8

dnf install httpd mod_ssl -y
systemctl enable httpd
systemctl start httpd

安装后,会自动生成:

  • /etc/httpd/conf.d/ssl.conf
  • 默认证书:/etc/pki/tls/certs/localhost.crt

二、准备 SSL 证书

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

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

方式 2:使用正式证书(推荐)

例如从 Let’s Encrypt 获取:

yum install certbot python2-certbot-apache -y
certbot --apache -d www.example.com

或手动放置:

  • 证书:/etc/pki/tls/certs/example.com.crt
  • 私钥:/etc/pki/tls/private/example.com.key

三、配置 Apache HTTPS

编辑 SSL 配置文件:

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

关键配置示例:

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

    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/example.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/example.com.key
    # 如果有中间证书
    # SSLCertificateChainFile /etc/pki/tls/certs/chain.crt
</VirtualHost>

四、HTTP 重定向到 HTTPS(可选)

在网站配置中:

<VirtualHost *:80>
    ServerName www.example.com
    Redirect permanent / https://www.example.com/
</VirtualHost>

五、防火墙放行 HTTPS

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

(若使用 iptables 或云安全组,也需放行 443 端口)


六、检查并重启 Apache

httpd -t
systemctl restart httpd

七、验证

浏览器访问:

https://你的域名

若使用自签证书会提示不安全,属正常现象。


如果你愿意,我可以:

  • 帮你写 完整 ssl.conf
  • 教你 Let’s Encrypt 自动续期
  • 针对 CentOS 版本 / Apache 版本 精确配置

你现在是 CentOS 几?用的是域名证书还是自签?

0