apache下开启ssl访问

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. #修改conf文件。

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
把前面的#号去掉即可

 

  1. #修改conf/extra/httpd-ssl.conf 文件,重新指定以下2个文件的正确路径。

SSLCertificateFile ” D:/phpStudy/Apache/conf/ssl/server.crt ”
SSLCertificateKeyFile ” D:/phpStudy/Apache/conf/ssl/server.key”

 

  1. # httpd-ssl.conf修改为你生成证书的文件位置。

DocumentRoot  “D:/www”  #修改 DocumentRoot的值与httpd.conf文件的DocumentRoot保持一致

 

  1. #把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 test.com:443>
DocumentRoot  /www
ServerName test.com
SSLEngine on
SSLCertificateFile /etc/httpd/conf/server.crt
SSLCertificateKeyFile /etc/httpd/conf/server.key
</VirtualHost>

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

NameVirtualHost test.com:443

好了,完毕,这样就可以访问https:// test.com了

 

Leave a Comment