Apache配置SSL的过程

参考:http://blog.csdn.net/Sky_qing/article/details/44303221

环境:ubuntu14.04 64位

因为该版本的ubuntu中已经包含OpenSSL,可以使用:

openssl version –a

查看。

 

1. 安装apache2

sudo apt-get install apache2

 

2. 启用ssl模块

sudo a2enmod ssl

 

3. 创建CA签名

sudo openssl genrsa -des3 -out server.key 1024

这里会出现要输入密码的情况,设置密码即可,这里会要确认一次:一定要记住这个密码,这是密钥的访问密码。

 

4. 创建CSR(Certificate Signing Request)

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

这里首先要求输入密码,这就是你前面设置的密码; 后面会有一些国家、城市的信息设置,按照自己的需求设置即可。

 

5. 自己签发证书

sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

会提示成功,然后输入密码即可。

 

6. 将文件复制到自己设定的目录,然后再在配置文件中修改即可

我这里是将文件复制在 /etc/apache2/ssl夹下

sudo mkdir /etc/apache2/ssl

sudo mkdir /etc/apache2/ssl/certs

sudo mkdir /etc/apache2/ssl/private

复制:

sudo cp server.crt /etc/apache2/ssl/certs

sudo cp server.key /etc/apache2/ssl/private

 

7. 配置文件修改

sudo cp /etc/apache2/sites-enabled/000-default.conf /etc/apache2/sites-enabled/001-ssl

sudo gedit /etc/apache2/sites-enabled/001-ssl

将80改为 443

 

在DocumentRoot后添加(按照前面自己设定的路径)

SSLEngine On

SSLOptions +StrictRequire

SSLCertificateFile /etc/apache2/ssl/certs/server.crt

SSLCertificateKeyFile /etc/apache2/ssl/private/server.key

 

8. 重启apache2

sudo /etc/init.d/apache2 restart

这里需要输入前面设定的那个密钥访问密码,成功输入后,便能够重启成功。

 

9.在浏览器中查看

地址栏输入:https://localhost/

然后会提示不受信任的证书,把这个添加到例外就OK了,能够正常访问。

 

常见的几个问题:

1.

提示443端口已经被占用了

解决:

sudo gedit /etc/apache2/ports.conf

确保该文件中只有

Listen 80

如果包含Listen 443就会出现上述问题

参考:

http://stackoverflow.com/questions/9143964/make-sock-could-not-bind-to-address-443-when-restarting-apache-installi

2.

icepng@ubuntu:/usr/share/apache2$ sudo /etc/init.d/apache2 restart

 * Restarting web server apache2                                                AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

 

重启服务发现,没有ServerName这个问题,只是apache2的问题,与OpenSSL没关。

参考:

http://blog.sina.com.cn/s/blog_4ce89f200100yy1q.html

在/etc/apache2/apache2.conf文件最后加上一句:

ServerName localhost:80

 

posted @ 2015-10-26 21:11  ct_usl  阅读(675)  评论(0编辑  收藏  举报