注意:本例为本地测试服务器的https开启,非正式服务器证书的https。过程不同请勿混淆
1.基本要求
检查确认httpd服务安装并已开启,确认已安装ssl模块和openssl包
安装命令(可选步骤)
# yum install mod_ssl openssl
2.生成服务器KEY
进入httpd安装根目录,生产服务器私钥
# cd /etc/httpd/
# openssl genrsa -aes256 -out server.key 1024
>根据提示输入访问密钥的密码(例:123456),再次核对输入(123456)。务必牢记密码!!!
提示:server.key 密钥的文件名可以自行定义
3.生成证书并签署
# openssl req -sha256 -new -x509 -days 1826 -key server.key -out server.crt
>Enter pass phrase for server.key:(输入密钥密码,就是那个要牢记的密码,我这里是:123456)
根据提示输入相应信息
Country Name (2 letter code) [XX]:CN (国家简称2个字符)
State or Province Name (full name) []:HuNan (州或省名称)
Locality Name (eg, city) [Default City]:ChangSha (所在城市)
Organization Name (eg, company) [Default Company Ltd]:BowFun (组织名、公司名)
Organizational Unit Name (eg, section) []:AppS(部门名)
Common Name (eg, your name or your server's hostname) []:lv66.cas(就是要跟实现访问的域名,必须一致)
4.检查mod_ssl模块加载并配置虚拟主机
进入httpd模块目录查看是否存在mod_ssl.so源文件
# cd /etc/httpd/modules; ls mod_ssl*
5.编辑虚拟主机配置文件
本例是vhost.conf,可能有不同名称
# vi /etc/httpd/conf.d/vhost.conf
参照图示编辑虚拟主机
注意:ServerName 一定要指定主机名和端口号,不能简写。
SSLCertificateFile和SSLCertificateKeyFile指向的文件就是实际存在的文件(本例:放置在/etc/httpd/目录)
6.检查配置文件
# apachectl configtest
确保配置文件没有错误,返回 Syntax OK 则没有问题
重启httpd
# service httpd restart
输入访问密钥的密码(就是那个务必牢记的密码:123456)
7.可能存在firewalld拦截
编辑firewalld配置文件,加入https服务
# vi /etc/firewalld/zones/public.xml
加入<service name="https"/>
重启firewalld防火墙
# service firewalld restart
8.客户端浏览器测试访问
导出证书并添加到受信任的根证书机构中,具体操作百度...
网友评论