Apache 建立 HTTPS 服务器

2022-03-06  本文已影响0人  _于曼丽_

安装

安装 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

文件

openssl

openssl 软件用来创建自签名证书

  1. 安装 openssl
yum -y install openssl
  1. 创建目录
cd /etc/httpd
mkdir pki
cd pki
  1. 生成私钥
# 在当前目录下生成私钥 server.key,采用 rsa 加密,长度为 2048 bit
openssl genrsa -out server.key 2048
  1. 生成 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 []:
  1. 生成证书
# 过期时间为 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。

  1. 拷贝私钥和证书
cp server.key /etc/pki/tls/private/
cp server.crt /etc/pki/tls/certs/
  1. 修改 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
  1. 重启 httpd 服务
systemctl restart httpd
  1. 在本机浏览器输入 https://192.168.100.104/ 访问,会提示该证书不可信任,继续访问即可。
上一篇 下一篇

猜你喜欢

热点阅读