apache下开启ssl访问,即https

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:D:/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端口的虚拟主机,例如:


        DocumentRoot /home/ownfire/www/woosau
        ServerName woosau
        SSLEngine on
        SSLCertificateFile /etc/httpd/conf/server.crt
        SSLCertificateKeyFile /etc/httpd/conf/server.key

因为规定主机名是woosau,所以还要写一个虚拟主机名规则

NameVirtualHost woosau:443

好了,完毕,这样就可以访问https://woosau了


你可能感兴趣的:(软件知识)