安装
安装 Apache 的 SSL 支持模块
yum -y install mod_ssl
systemctl restart httpd
防火墙开启 443 端口 (https 默认端口 443)
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
文件
-
/etc/httpd/conf.d/ssl.confSSL配置文件 -
/etc/pki/tls/private/该目录存放私钥 -
/etc/pki/tls/private/localhost.key该文件是系统自带的私钥 -
/etc/pki/tls/certs/该目录存放证书 -
/etc/pki/tls/certs/localhost.crt该文件是系统自带的证书
openssl
openssl 软件用来创建自签名证书
- 安装 openssl
yum -y install openssl
- 创建目录
cd /etc/httpd
mkdir pki
cd pki
- 生成私钥
# 在当前目录下生成私钥 server.key,采用 rsa 加密,长度为 2048 bit
openssl genrsa -out server.key 2048
- 生成 CSR 文件
CSR 文件是 SSL 证书请求文件,购买 SSL 证书的时候,需要提供 CSR 文件。
使用 openssl 生成 CSR 文件
openssl req -new -key server.key -out server.csr
需要回答一些选项,最后的可选项不用填
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Tianjin
Locality Name (eg, city) [Default City]:Tianjin
Organization Name (eg, company) [Default Company Ltd]:Tencent
Organizational Unit Name (eg, section) []:Soft
Common Name (eg, your name or your servers hostname) []:tqq
Email Address []:tqq@qq.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
- 生成证书
# 过期时间为 3650 天
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
server.crt 证书里面包括与私钥 server.key 对应的公钥,客户端会在获取证书之后,提取公钥,使用公钥加密 pre-master key,服务器使用私钥解密 pre-master key。
- 拷贝私钥和证书
cp server.key /etc/pki/tls/private/
cp server.crt /etc/pki/tls/certs/
- 修改 SSL 配置文件
用自制的私钥和证书替换系统默认的私钥和证书
vi /etc/httpd/conf.d/ssl.conf
# SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/pki/tls/certs/server.crt
# SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/pki/tls/private/server.key
- 重启 httpd 服务
systemctl restart httpd
- 在本机浏览器输入
https://192.168.100.104/访问,会提示该证书不可信任,继续访问即可。











网友评论