乐考论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 448|回复: 1

[Apache] apache https配置步骤

[复制链接]
发表于 2016-12-21 10:36:15 | 显示全部楼层 |阅读模式
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
<VirtualHost *:443>
…………
</VirtualHost>
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
<VirtualHost *:80>
…………
</VirtualHost>
4、  重新启动apache
用https方式访问,查看是否生效




回复

使用道具 举报

 楼主| 发表于 2016-12-21 10:38:02 | 显示全部楼层
本帖最后由 乐考论坛 于 2016-12-21 11:48 编辑

openssl Windows下已编译好的命令行程序:
http://downloads.sourceforge.NET/gnuwin32/openssl-0.9.8h-1-bin.zip


lamp开启ssl
首先需要安装openssl和apache的ssl模块,执行:
yum install openssl mod_ssl -y
即可,接下来的配置方法和以下内容类似

wamp开启SSL

1.#修改httpd.conf文件
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
#去掉上面两行前的"#"
2.#修改conf/extra/httpd-ssl.conf
SSLCertificateFile "D:/wamp/Apache2/bin/server.crt"
SSLCertificateKeyFile "D:/wamp/Apache2/bin/server.key"
3.#修改为你生成证书的文件位置
DocumentRoot "E:/www"  #修改 DocumentRoot的值与httpd.conf文件的DocumentRoot保持一致.
4.#解决APACHE无法启动
设置配置文件(httpd-ssl.conf conf/extra目录中)
SSLMutex  "file:/ProgramFiles2003/wamp/wamp/Apache2/logs/ssl_mutex"
修改为68: SSLMutex  default   
5.#把httpd-ssl.conf文件中所有的apache的路径替换为你的APACHE的路径

#到此配置文件修改完毕

二,证书生成的方法
windows的——

#命令行中进入apache/bin目录下执行如下:
openssl req -config ../conf/openssl.cnf -new -out server.csr -keyout server.pem
其中openssl.cnf为apache自带的openssl配置文件,引用到该文件的完整路径
输入两次密码,随便什么密码,然后一直回车,跳过下面的输入

#签发证书
openssl rsa -in server.pem -out server.key
输入刚才制定的密码

#生成密钥文件
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
#生成证书文件

把  server.key,server.crt copy到conf文件夹下

Linux的——
生成服务器私钥:
#openssl genrsa -des3 -out server.key 1024

生成服务器证书请求,并按要求填些相关证书信息:
#openssl req -new -key server.key -out server.csr

签证:
# openssl x509 -req -days 700 -in server.csr -signkey server.key -out server.cert
Signature ok



重新启动APACHE
OK,恭喜你可以正常使用HTTPS来访问你的根目录了。

当然我们还需要ssl的虚拟主机
那就要配置虚拟主机文件,在文件中专门写一个监听443端口的虚拟主机,例如:
<VirtualHost woosau:443>
        DocumentRoot /home/ownfire/www/woosau
        ServerName woosau
        SSLEngine on
        SSLCertificateFile /etc/httpd/conf/server.crt
        SSLCertificateKeyFile /etc/httpd/conf/server.key
</VirtualHost>
因为规定主机名是woosau,所以还要写一个虚拟主机名规则
NameVirtualHost woosau:443
好了,完毕,这样就可以访问https://woosau了
回复 支持 反对

使用道具 举报

快速回复 返回顶部 返回列表
鲁ICP备16044790-1号 Copyright © 2008-2020 乐考网(www.5Lekao.com) 版权所有
| QQ| 乐考论坛