如何在apache上安装https证书

2024-11-28 08:57:26
推荐回答(3个)
回答1:

Apache安装https证书(即SSL证书)的教程如下:

  一、安装openssl

  

  下载Openssl安装包并解压,推荐使用默认配置 make && make install //编译及安装 ,openssl默认将被安装到/usr/local/ssl。

  

  二、 让apache支持ssl,编译的时候,要指定ssl支持

  

  静态方法即–enable-ssl=static –with-ssl=/usr/local/ssl

  

  动态方法–enable-ssl=shared –with-ssl=/usr/local/ssl

  

  其中第二种方法会在module/ 目录下生成 mod_ssl.so 模块,而静态不会有,当然第二种方法也需要在httpd.conf 中加入LoadModule ssl_module modules/mod_ssl.so

  

  三、获取SSL证书

  

  1)创建私钥。在创建证书请求之前,您需要首先生成服务器证书私钥文件。

  

  cd /usr/local/ssl/bin //进入openssl安装目录

  

  openssl genrsa -out server.key 2048 //运行openssl命令,生成2048位长的私钥server.key文件。如果您需要对 server.key 添加保护密码,请使用 -des3 扩展命令。Windows环境下不支持加密格式私钥,Linux环境下使用加密格式私钥时,每次重启Apache都需要您输入该私钥密码(例:openssl genrsa -des3 -out server.key 2048)。

  

  cp server.key /usr/local/apache/conf/ssl.key/

  

  2)生成证书请求(CSR)文件

  

  openssl req -new -key server.key -out certreq.csr

  

  Country Name: //您所在国家的ISO标准代号,中国为CN

  

  State or Province Name: //您单位所在地省/自治区/直辖市

  

  Locality Name: //您单位所在地的市/县/区

  

  Organization Name: //您单位/机构/企业合法的名称

  

  Organizational Unit Name: //部门名称

  

  Common Name: //通用名,例如:www.anxinssl.com。此项必须与您访问提供SSL服务的服务器时所应用的域名完全匹配。

  

  Email Address: //您的邮件地址,不必输入,直接回车跳过

  

  “extra”attributes //以下信息不必输入,回车跳过直到命令执行完毕。

  

  3)备份私钥并提交证书请求

  

  请将证书请求文件certreq.csr提交给安信证书,并备份保存证书私钥文件server.key,等待证书的签发。服务器证书密钥对必须配对使用,私钥文件丢失将导致证书不可用。

  

  四、安装SSL证书

  

  为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级CA证书(不同品牌证书,可能只有一张中级证书)。

  

  从邮件中获取中级CA证书:

  

  将证书签发邮件中的从BEGIN到 END结束的两张中级CA证书内容(包括“—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”)粘贴到同一个记事本等文本编辑器中,中间用回车换行分隔。修改文件扩展名,保存为conf/ssl.crt/intermediatebundle.crt文件(如果只有一张中级证书,则只需要保存并安装一张中级证书)。

  

  五、完成apache配置 2.0的配置

  

  httpd.conf 中增加

  

  Listen443

  

  NameVirtualHost *:443

  

  DocumentRoot “/data/web/www”

  

  ServerName aaa.com:443

  

  ErrorLog “logs/error.log”

  

  CustomLog “logs/access.log” combined

  

  SSLEngine on

  

  SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt

  

  SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key

  

  SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/intermediatebundle.crt

回答2:

1、 确认是否安装ssl模块

是否有mod_ssl.so文件

2、 生成证书和密钥

linux下

步骤1:生成密钥

命令:openssl genrsa 1024 > server.key

说明:这是用128位rsa算法生成密钥,得到server.key文件

步骤2: 生成证书请求文件

命令:openssl req -new -key server.key > server.csr

说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入

步骤3: 生成证书

命令:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt

说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天

window下

步骤1:生成密钥
命令:openssl genrsa 1024 > server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件

步骤2: 生成证书请求文件
命令:openssl req -config D:\work_soft\Apache2.2\conf\openssl.cnf -new -key server.key > server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入

步骤3: 生成证书
命令:openssl req -config D:\work_soft\Apache2.2\conf\openssl.cnf -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天

把得到的server.key和server.crt文件拷贝到apache的对应目录

3、 配置apache

l 修改httpd-ssl.conf文件

注意在此文件中配置证书和密钥

SSLCertificateFile /apache/conf/server.crt

SSLCertificateKeyFile /apache/conf/server.key

虚拟机设置

NameVirtualHost *:443



…………



l 修改httpd.conf文件

步骤1:打开ssl模块

LoadModule ssl_module /opt/taobao/install/httpd/modules/mod_ssl.so

步骤2:引入ssl配置文件

Include “/apache/conf/httpd-ssl.conf”

步骤3:如果你配置的虚拟机,注意一下端口的访问接受情况

NameVirtualHost *:80



…………



4、 重新启动apache

用https方式访问,查看是否生效

回答3:

需要懂点代码,如果是小白的话,建议找GDCA吧,免费安装https证书,不用自己摸索这么麻烦。