Apache2开启https(ssl)访问教程之linux篇

使用

apt-get install apache2

安装的apache都应该带了ssl模块,使用

a2enmod ssl

即可启用ssl。
启用ssl功能需用到openssl,运行

apt-get install openssl

安装openssl。

证书介绍
SSL 安全证书可以自己生成,也可以通过第三方的 CA ( Certification Authority )认证中心付费申请颁发。
SSL 安全证书包括:
1. CA 证书,也叫根证书或中间级证书。单向认证的 https , CA 证书是可选的。主要目的是使证书构成一个证书链,以达到浏览器信任证书的目的。如果使用了 CA 证书,服务器证书和客户证书都使用 CA 证书来签名。如果不安装 CA 证书,浏览器默认认为是不安全的。
2. 服务器证书。必选。通过服务器私钥,生成证书请求文件 CSR ,再通过 CA 证书签名生成服务器证书。
3. 客户证书。可选。如果有客户证书,就是双向认证的 HTTPS ,否则就是单向认证的 HTTPS 。生成步骤和服务器证书类似。
上面几种证书都可以自己生成。商业上,一般自己提供服务器或客户证书端的私钥和证书请求 CSR ,向第三方机构付费申请得到通过 CA 证书签名的服务器证书和客户证书。
apache要使用https必需要安装相应证书。
安装证书这里介绍两种方法,自签名和第三方签名。
自签名和第三方签名有区别吗?
答案是有的。自签名证书,浏览器打开的时候,会提示证书非可信任机构。
而第三方,根据签发机构的不同,有些机构是浏览器默认的安全签发机构,就不会提示证书问题。
免费的startssl机构,虽然已经支持大部分浏览器,笔者测试了edge,chrome,firefox,ie11中,只有firefox会报证书不安全。

 

方法一,自签名。
自签名,顾名思意,就是自己给自己签名,在使用时,相关证书的颁发都是自己设定的
openssl genrsa -des3 -out server.key 1024
//创建CA签名(不使用密码去除-des3选项),此处则生成用来密钥文件

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

//创建CSR(Certificate Signing Request),签名请求文件,使用前面的密钥文件生成(使用des加密去掉-nodes)

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

//自己签发证书,生成server.crt,已签名证书。365天有效期
此时已经生成所需要的证书,key和crt文件。
过程中需要输入相关信息,按提示,CN(common name)最好输入相关域名。
方法二,第三方签名。
第三方签名,顾名思意,就是第三方给自己签名,在使用时,相关证书的颁发显示的是相应的第三方
开始和自签名一样,生成一个请求文件

openssl genrsa -des3 -out server.key 1024

//创建CA签名(不使用密码去除-des3选项),此处则生成用来密钥文件

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

//创建CSR(Certificate Signing Request),签名请求文件,使用前面的密钥文件生成(使用des加密去掉-nodes)
然后将server.csr发送给第三方签名,然后获行已签名证书。此处推荐一个免费第三方SSL,startssl。相关操作自行百度。签名成功会收到一个key和一个crt文件。

以上方法都生成了key和crt文件,此文保存为server.key和server.crt,可以将它们移到一个文件夹,比如/etc/apache2/ssl/
然后配置https。
以上步骤完成后会在/etc/apache2/site-avilable/生成一个default-ssl.conf
最好先备份该文件。先修改该文件,目录,host,端口等网站相关信息。
使用之前生成的证书:
找到相应地方改为
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

SSLCACertificateFile /etc/apache2/ssl/using/root_bundle.crt

然后启用该站点信息,

a2ensite default-ssl.conf

重启apache2

service apache2 restart
 service apache2 reload

注意,重启时如果之前设了证书密码,则要输入
重启成功后,打开https链接看下效果吧。
笔者使用的是wosign的签名,可以看下证书信息。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇