windows下为apache配置https

来源:互联网 发布:js encodeuri导入 编辑:程序博客网 时间:2024/05/17 09:37

前面为 tomcat 配置好了证书,接下来就是为 apache 配置证书。

这里先声明几点,第一,很多教程都是先配置 apache 再来生成证书,其实不用,证书用前面生成好的就可以,只要在 apache 中添加几行代码就行了。第二,证书有很多不同的表现形式,在 windows 下看后缀就可以了,甚至很多都是可以替换使用的,具体的关于证书后缀的内容可以看这篇文章:证书后缀

接下来就来配置 apache,首先配置 httpd.conf(怎么打开 httpd.conf),在里面将两个注释去掉,就是去掉前面的 #

#LoadModule ssl_module modules/mod_ssl.so


#Include conf/extra/httpd-mpm.conf  


之后就是重头戏了,就是为 apache 设置证书路径,用前面生成的证书就可以了,如果你是别的形式,可以参考上面的证书后缀,只要是证书就可以了,后缀没关系的。接下来就是修改 httpd-ssl.conf 。

添加的内容如下:

SSLCertificateFile "C:/CA/openssl-1.0.2h/server3/server-cert.pem"      //服务器自签名证书SSLCertificateKeyFile "C:/CA/openssl-1.0.2h/server3/server-key.pem"    //服务器私钥文件SSLCACertificateFile "C:/CA/openssl-1.0.2h/ca/ca-cert.pem"<span style="white-space:pre"></span>       //ca中心自签名文件


如果你是跟着我搭建的话,那么这些文件后缀是没问题的,但是如果你的后缀是别的,例如不是 pem,而是 crt 等,那也没问题,重点在于你生成的这个文件是证书请求,服务器能接受的 p12 形式还是自签名证书,上面的 server-cert.crt 跟 server-cert.pem 是一样的。还有这个默认端口一般是 443。

还有一点,自建 ca 开启 https 之后,你就不能从网上直接引用 css 以及 js,jQuery 的资源,服务器会提醒你引用“未经过验证的资源脚本”。所以你引用的资源都要加载到本地才行。举个例子:


如果强制加载就会出现警告字样:


但是以 http 方式加载页面就不会问题:


所以只能将资源下载到本地,我使用的是 thinkphp 3.2.3,所以将这些资源放在 Public 目录下:



0 0