HTTP HTTPS 创建CA证书

目录

http

1、安装apache环境依赖

2、基本设置

3、配置主文件

4、配置完重启HTTP生效

https的实现

1、安装专门的mod_ssl模块

2、申请CA证书

3、编辑.conf配置文件

4、重启服务

使用IE浏览器访问测试


  • http

1、安装apache环境依赖

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

2、基本设置

# systemctl stop firewalld
# setenforce 0
或者加入防火墙允许
# firewall-cmd --permanent --add-service=http
# firewall-cmd --reload   //立即生效
# firewall-cmd --list-all   //查看
# mkdir /home/http
# echo "welcome to my web" > /home/http/index.html

3、配置主文件

# vi /etc/httpd/conf/httpd.conf
注:可以去除注释行再修改
mv /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
grep -v “#” /etc/httpd/conf/httpd.conf.bak > /etc/httpd/conf/httpd.conf
修改以下内容:
ServerName www.lql.com:80
DocumentRoot "/home/http"
<Directory "/var/www/html">   修改成  <Directory "/home/http">

附:主配置文件比较常用参数,按需添加

ServerRoot  xx  服务目录                      ServerAdmin  xx  管理员邮箱
User   xx  运行服务的用户                      Group    xxx  运行服务的用户组
ServerName   xx  网站服务器的域名      DocumentRoot   xx  文档根目录(网站数据目录)
Directory  xx 网站数据目录的权限            Listen  xx  监听的IP地址和端口号
DirectoryIndex   xx  默认的索引页页面           ErrorLog   xx 错误日志文件CustomLog  xxxx  访问日志文件                          Timeout  xx  网站超时时间,默认300秒

4、配置完重启HTTP生效

# systemctl restart httpd
  • https的实现

1、安装专门的mod_ssl模块

# yum -y install mod_ssl

2、申请CA证书

要生成证书就需要为服务端生成私钥,并用它来为其提供证书文件

# cd /etc/pki/CA
创建CA所需要的文件:
# touch index.txt    //生成证书索引数据库文件
# echo 00 > serial     //指定第一个颁发证书的序列号(00 01 02..)
生成4096位私钥,私钥的文件名与存放位置都要和配置文件的设置相匹配:
# (umask 066;openssl genrsa -out private/cakey.pem 4096) 
通过私钥生成自签名证书:
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
  Country Name (2 letter code) [XX]:CN        //国家
  State or Province Name (full name) []:shandong     //省份
  Locality Name (eg, city) [Default City]:jining     城市
  Organization Name (eg, company) [Default Company Ltd]:school     //公司
  Organizational Unit Name (eg, section) []:group     //部门
  Common Name (eg, your name or your server's hostname) []:www.ar.com      //CA主机名
  Email Address []:
​
注意:
()的使用为了使umask值只在当前代码行有效,而不改变系统umask值
 CA的私钥名必须为cakey.pem
 -new : 生成新证书签署请求
 -509 :专用CA生成自签证书
 -key :生成请求时用到的私钥文件
 -days n : 证书有效期限
 -out  /PATH/TO/SOMECERTFILE: 证书的保存路径 
  
这样一个根CA就建成了!我们可以将生成的证书导出到自己的windows系统,因为windows系统识别不了以.pem结尾的文件,所以我们需要手动修改。

颁发证书:

# mkdir /etc/httpd/conf.d/ssl
# cd /etc/httpd/conf.d/ssl/
1.生成私钥:
# (umask 066;openssl genrsa -out lql.com.key 1024)
2.通过私钥生成公钥(生成证书请求文件):
# openssl req -new -key lql.com.key -out lql.com.csr
国家:CN
省份:shandong
城市:jining
公司:school
部门:group
CA主机名:www.lql.com
3.自签(CA签署证书):
# openssl ca -in lql.com.csr -out lql.com.crt -days 365
y  //第一次输入确定
y  //第二次输入确定
# cp /etc/pki/CA/cacert.pem .
​
注:
/etc/pki/tls/openssl.cnf 配置文件中规定,默认国家,省,公司名称三项必须和CA一致

3、编辑.conf配置文件

# vim /etc/httpd/conf.d/ssl.conf
修改以下内容
DocumentRoot "/home/http"
ServerName www.lql.com:443
SSLEngine on
SSLCertificateFile /etc/httpd/conf.d/ssl/lql.com.crt   #证书文件的路径
SSLCertificateKeyFile /etc/httpd/conf.d/ssl/lql.com.key   #私钥文件的路径
SSLCACertificateFile /etc/httpd/conf.d/ssl/cacert.pem
注:
 SSLCertificateChainFile /etc/httpd/ssl/1_root_bundle.crt  #证书链文件的路径

4、重启服务

# systemctl restart httpd

使用IE浏览器访问测试

1、访问网页地址https://www.lql.com

注:因为本地电脑无法识别自己写的域名,所以需要添加网站主机IP和域名绑定,实现方式如下:

//打开本地C盘,搜索路径C:\Windows\System32\drivers\etc

//用文本格式编辑hosts文件,添加一行web的IP和域名即可

如: 192.168.10.2 www.lql.com

2、再次访问网页地址https://www.lql.com

//显示连接不安全 算是基本成功

//需要把证书文件导出然后添加到信任的根证书列表中

windows下的证书管理器 运行中输入certmgr.msc

猜你喜欢

转载自blog.csdn.net/l876460925/article/details/127324858
今日推荐