apache配置https协议即生成CSR方法步骤
发布日期:2016-08-301、安装好apache环境,注意要装ssl版本的。这里装在c:/apache目录下。
2、生成服务器证书
1)在DOS命令下进入apache/bin目录
2)在windows环境下需先设置Openssl环境变量:
执行命令
[plain] view plain copyset OPENSSL_CONF=..\conf\openssl.cnf
请在执行之前确保 openssl.cnf 存在,否则会出现:WARNING: can't open config file: /usr/local/ssl/openssl.cnf 信息提示。
还有在windows系统下.cnf 默认会被当成快捷方式,看不到扩展名。
3)生成私钥文件:
执行命令
[plain] view plain copyopenssl genrsa 1024>server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件。 > 是输出文件的标识符
这种生成方法生成的是没有密钥的私钥文件。当然,Apache提供了加入密钥(Password)的命令,就是加入参数-des3。命令为:
[plain] view plain copyopenssl genrsa 1024 -des3 > server.key
使用上述命令生成私钥文件是需要输入密钥的,运行的时候会让你输入并确认你的密钥。但是在Windows环境下会导致以下错误:错误:Apache启动失败,错误提示是:Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file .....)
原因是window下的apache不支持加密的私钥文件。
注:生成的证书中RSA密钥对的默认长度是1024,取值是2的整数次方。建议使用4096以上。
4)生成证书请求文件。
执行命令
[plain] view plain copyopenssl req -new -key server.key > server.csr
说明:这是用步骤3的密钥生成证书请求文件server.csr, 这一步会有很多参数,需要一一输入。
按提示输入一系列的参数:
Country Name (2 letter code) [AU]:CN ISO国家代码(只支持两位字符)
State or Province Name (full name) [Some-State]:ZJ所在省份
Locality Name (eg, city) []:HZ所在城市
Organization Name (eg, company):SW_TECH公司名称
Organizational Unit Name (eg, section) []:SW_TECH组织名称
Common Name (eg, YOUR name) []:kedou.com申请证书的域名
Email Address []:admin@admin.com 管理员邮箱
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: 交换密钥
An optional company name []: 注:Common Name必须和httpd.conf中server name必须一致,否则apache不能启动 (启动apache时错误提示为:RSA server certificate CommonName (CN) `Kedou' does NOT match server name!? )
5)签署服务器证书文件。
执行命令行
[plain] view plain copyopenssl req -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤3,4的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天,x509表示生成的为X.509证书。
以上签署证书仅仅做测试用,真正运行的时候,应该将CSR发送到一个CA返回真正的证书。网上有些文档描述生成证书文件的过程比较繁琐,就是因为 他们自己建立了一个CA中心,然后再签署server.csr
用openssl x509 -noout -text -in server.crt 可以查看证书的内容。证书实际上包含了Public Key
3、配置httpd.conf
打开httpd.conf文件,移除注释的行:
[plain] view plain copyInclude conf/extra/httpd-ssl.conf
LoadModule ssl_module modules/mod_ssl.so
打开httpd-ssl.conf,修改如下:
[plain] view plain copy
VIRTUALHOST _default_:443
SSLEngine On
SSLCertificateFile ../bin/server.crt
SSLCertificateKeyFile ../bin/server.key
#SSLCertificateChainFile ../bin//ca.crt // 暂未启用
#......
DocumentRoot "c:/apache/htdocs"
ServerName www.kedou.com:443
/VIRTUALHOST
4、重启apahce服务,访问https://localhost,完工!
===========出现错误汇集==========
1,、"Syntax error on line 80 of c:/apache/conf/extra/httpd-ssl.conf:ErrorLog takes one argument,The filename of the error log"或者"Syntax error on line 99 of c:/apache/conf/extra/httpd-ssl.conf:SSLCertificateFile takes one argument,SSL Server Certificate file ('/path/to/file' -PEM or DER encoded)"
解决方法:文件路径加双引号
2、"Syntax error on line 76 of C:/apache/conf/extra/httpd-ssl.conf:SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?)."
解决办法:
打开httpd.conf,找到 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so,把前面的注释去掉。
关键词:apache配置https协议
本文全部来源于互联网,版权归属于原作者。本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(3143591980@qq.com),我们收到后立即删除。
相关文章:
配置Apache支持https的方法,如何设置Apache支持https
如何配置Apache支持https,如何设置Apache支持https,Apache中怎么设置https,配置Apache支持https的方法步骤。
apache下如何开启ssl访问,apache下如何开启https访问,apache配置ssl证书方法步骤。
apache https配置方法,apache https配置步骤
apache怎么配置https加密,apache怎么配置SSL证书,apache https配置方法,apache https配置步骤介绍。
Apache SSL怎么安装?Apache SSL怎么配置?Apache SSL证书安装配置方法教程(自主csr版)。
如何在CentOS配置Apache的HTTPS服务,这里以自签证书(仅用于测试)为例: 如果CentOS已经安装了Apache Web服务器,我们需要使用OpenSSL生成自签名证书。如果尚未安装OpenSSL...
SSL证书安装指南 - Apache-SSL / Apache ModSSL
请注意: Apache中含有https.conf和ssl.conf两个功能相同的文件,请只修改其中一...3. 完成配置Setup the server 请一定要分配443端口和一个固定的IP地址给主机...
1.安装Openssl要使Apache支持SSL,需要首先安装Openssl支持。Openssl下载地址http://www.openssl.org/source/tar -zxf openssl-1.0.1h.tar.gz //解压安装包...
2、打开apache安装目录下conf.d目录中的ssl.conf文件 在配置文件中查找以下配置...在浏览器地址栏输入:https://s.wosign.com (申请证书的域名)测试您的SSL证书...