Ubuntu上Apache2+OpenSSL 配置HTTPS

 博主之前在给公司的虚拟云主机开启SSL。经参考两个博客,总结出以下流程,亲测。

<http://blog.csdn.net/newjueqi/article/details/9789659> @2017-04-17

<http://www.cnblogs.com/IT--Loding/p/6071855.html> @2017-04-17

 

一、安装Apache

$ sudo apt-get install apache2

使用此方式安装的APACHE,配置比较分散,一般如下:

默认站点在 /var/www/

配置文件在 /etc/apache2/

日志在 /var/log/apache/                            

启动脚本是 /usr/bin/apache2ctl 或者 /etc/init.d/apache2

 

二、安装OpenSSL

Ubuntu默认已经安装了OpenSSL,如果没安装:

$ sudo apt-get install openssl

 

三、创建证书

1、自签名证书

...... 在此省略 ......

 

2、第三方CA机构签署证书

生成此证书,需要向第三方提交一个“生成证书请求文件(CSR)”,生成这个CSR需要两步:

1) 生成私钥KEY

2) 生成请求CSR

 

A、运行如下命令生成私钥:

$  openssl genrsa -des3 1024 -out server.key

 

B、生成请求文件

运行如下命令生成证书请求文件(CSR)

$ openssl req -new -key server.key –out server.csr

把这个CSR文件传给CA机构,然后他们会使用此请求文件生成证书。

(假设叫ca.crt,如果是cert结尾,手动导出64位的crt文件)

 

四、编辑HTTPS(SSL)配置

0. 转移证书

$ mkdir /etc/apache2/ssl

$ cp ~/.../server.key /etc/apache2/ssl/.

$ cp ~/.../ca.crt /etc/apache2/ssl/.

 

1、开启SSL模块

$ a2enmod ssl

 

2、启用SSL站点

$ a2ensite default-ssl

 

3、加入监听端口

$ sudo vim /etc/apache2/ports.conf

编辑Apache端口配置,加入443端口 (HTTPS采用的443端口传输数据)

  Listen 443

 

4、配置虚拟主机

编辑default-ssl文件,加入证书对应的主机头。

$ sudo vim /etc/apache2/sites-enabled/default-ssl.conf

     ServerName extend.me

 

5、配置SSL证书

- 按如下配置:

  SSLEngine on

  SSLCertificateFile        /etc/apache2/ssl/ca.crt

  SSLCertificateKeyFile   /etc/apache2/ssl/server.key

- 重新启动Apache

$ sudo service apache2 restart

- 然后在浏览器打开 https://extend.me 测试下,会显示Apache的欢迎页。

- 可以修改配置文件 /etc/apache2/sites-enabled/default-ssl.conf 内的默认站点路径。

 

posted @ 2017-04-18 14:36  兔纸不吃草  阅读(2045)  评论(0编辑  收藏  举报