Centos 6.5 头疼的https

一直以来都是对HTTPS加密一知半解,想找个时间,格物致知.

  HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的.

      CA(Certificate Authority)是证书的签发机构,它是负责管理和签发证书的第三方机构,是受到广泛信任的机构。一般在我们的电脑中,浏览器里,或者手机里都会内置一批这样的受信机构的根证书。

      公钥密码体制:

      公钥密码体制分为三个部分,公钥、私钥、加密解密算法,它的加密解密过程如下:

      加密:通过加密算法和公钥对内容(或者说明文)进行加密,得到密文。加密过程需要用到公钥。 

      解密:通过解密算法和私钥对密文进行解密,得到明文。解密过程需要用到解密算法和私钥。注意,由公钥加密的内容,只能由私钥进行解密,也就是说,由公钥加密的内容,如果不知道私钥,是无法解密的。

      公钥密码体制的公钥和算法都是公开的(这是为什么叫公钥密码体制的原因),私钥是保密的。一般来说都是,公钥加密,私钥解密.在实际的使用中,有需要的人会生成一对公钥和私钥,把公钥发布出去给别人使用,自己保留私钥.

   查了查资料.

   CSR文件用来申请证书(提供给证书供应商)

   KEY文件是私钥,用来配置ssl(放到服务器)

   CERT是证书供应商颁发的证书(放到服务器)

  • .key文件:密钥文件,SSL证书的私钥就包含在其中
  • .crt文件:证书文件,证书打开会就会看到申请的域名
  • .crs文件或者.cer:证书请求

在Centos6.5来说,我们已经安装好了apache.配置如下

在   /var/www/html 编写访问内容,文件名为index.html

在  /etc/httpd/conf.d/在 编写文件vhost.conf

其中还要放行防火墙的80端口,重启iptables,httpd服务,然后就能访问到网页.

 安装,openssl,mod_ssl

利用 OpenSSL 来产生一张自我签署的凭证。

制作私钥

制作csr

制作crt

复制文件到正确位置

更改/etc/httpd/conf.d中  mod文件的后缀名.

复制钥匙

cp ca.crt /etc/pki/tls/certs
cp ca.key /etc/pki/tls/private/ca.key
cp ca.csr /etc/pki/tls/private/ca.csr

不知道大家有没有想过,为什么把钥匙放在这些目录下,放别的地方不可以嘛?

好,我们来找找为什么

下载yum -y  install  mod_ssl

然后再/etc/httpd/conf.d里面有一个配置文件

我们进去看看,我们把localhost.crt,改成我们做的ca.crt,同理,把localhost.key,改成ca.key.    注意文件路径

编辑

[root@orz conf.d]# cat vhost.conf 
listen 443
<virtualhost *:443>
documentroot /var/www/html
servername 127.0.0.1
sslengine on
sslcertificatefile /etc/pki/tls/certs
sslcertificatekeyfile /etc/pki/tls/private/ca.key
</virtualhost>
 

放防火墙,重启防火墙,http服务.

然后访问,会有验证界面,点一下,就能看到已下网页了.            步骤全是一样的,在Centos6.5上没报错但访问不了,然后用redhat7.0就能访问.还在研究到底是问题

最后提供Centos6.5搭建https的官方实验手册供大家参考学习

https://wiki.centos.org/zh/HowTos/Https

=============================================================================

写得有点乱,还是鼓捣研究了一会  Centos6.5前面步骤都是一样的

配置文件得改一改

vim  /etc/httpd/conf.d/vhost.conf

<VirtualHost _default_:443>   
DocumentRoot "/home/store/webroot"
Servername domain
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
 SSLCertificateFile /etc/httpd/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
</VirtualHost>
 

重启服务

(网上找了资料,could  not  determine the server's ....    这个错误   说是改ssl.conf   里面的

改了之后 去掉#,加端口,并没有什么用)

 先不管那边多,放行443端口,重启httpd服务.

打开firefox 输入https://127.0.0.1

发布了33 篇原创文章 · 获赞 4 · 访问量 3758

猜你喜欢

转载自blog.csdn.net/linux2422988311/article/details/100572069
今日推荐