您的位置:首页 > 理论基础 > 计算机网络

Ubuntu下 利用httpd和OpenSSL搭建HTTPS web服务器

2016-11-12 17:09 579 查看
httpd安装见我的另一篇博客 :

http://blog.csdn.net/rock4you/article/details/53115854

以下所有操作,建议全程在root权限下执行。

一、安装OpenSSL

1.下载OpenSSL。当前版本为openssl-1.0.2j.tar.gz

https://www.openssl.org/

2.解压。

tar zxvf openssl-1.0.2j.tar.gz

3.进入解压后的目录,安装。

./config shared --prefix=/usr/local/openssl
make
make test
make install


二、给服务器颁发证书
1.创建CA签名(不需要加密的话可以去掉 -des3 选项)

openssl genrsa -des3 -out server.key 1024

2.创建CSR
openssl req -new -key server.key -out server.csr


3.签发证书

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


4.将证书和密钥复制到相应目录

cp server.crt /etc/ssl/certs
cp server.key /etc/ssl/private


5.修改配置文件

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

进入001-ssl.conf后,
将<VirtualHost *:80>中的80修改为443
在DocumentRoot下面加入以下内容:

SSLEngine On
SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key


6.加载新的配置并重启apache

/etc/init.d/apache2 force-reload
/etc/init.d/apache2 restart


7.使用浏览器测试 https://localhost/
我是在虚拟机中运行的Ubuntu,本地测试截图:



在Windows中用Chrome访问虚拟机服务器,可以查看到证书,截图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息