ssl证书有付费的,也有免费的:
1、付费推荐:Namecheap ssl
有github大礼包的童鞋可以免费使用一年
申请方法:在大礼包获取优惠码,点击链接跳转
2、免费推荐:沃通免费SSL证书
(申请地址https://buy.wosign.com/ApplyForSSL.html选择第一个免费SSL)
一、安装LAMP
方法:
1、Ubuntu安装LAMP(Linux, Apache, MySQL, PHP)
2、ubuntu搭建Wordpress(含LAMP安装方法)
二、SSl证书的申请
2.1 沃通免费SSL证书
申请地址:https://buy.wosign.com/ApplyForSSL.html
申请方法比较简单,填写相关信息即可.
大概2个小时左右能够收到含有证书压缩包邮件。
说明:
沃通是通过域名管理员邮箱(admin@xxx.xxx),或者CHNAME标记等方法验证域名所有权。
如果没有域名邮箱,最简单的方法是申请 腾讯、网易的免费企业邮箱.
2.2 Namecheap SSL证书的购买
2.1.1 购买
Namecheap官网 https://www.namecheap.com/
首先注册Namecheap账号,如实填写即可。
Github Student Pack 给了一个免费一年的优惠码,在Promo Code下粘贴优惠码即可
不用再充值,可以直接使用。
注意:购物车只保留9美元的ssl证书服务,其他去掉,此时显示应付款为0.
之后,结帐(仅仅走下过程)选择Paypa;支付方式,0元,实际不用支付。
2.2.2 Namecheap SSL证书激活
新购买的证书需要激活
方法:
点击用户名选择 Manage SSL Certificate 看到自己购买的证书,点击 Activate Now
如图:
激活 |
在Linux服务器上准备生成csr
打开putty,执行以下命令:
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
填写内容如下:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN // 国家,一定是CN
State or Province Name (full name) [Some-State]:Beijing // 省份
Locality Name (eg, city) []:Beijing // 城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:xxxx // 组织名称或公司名称(随便)
Organizational Unit Name (eg, section) []: // 可不填
Common Name (e.g. server FQDN or YOUR name) []:xxx.com // 注意一定要填写需要申请ssl的域名
Email Address []:xxx@gmail.com // 电子邮件地址
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: // 可不填,直接回车
An optional company name []: // 可不填,直接回车
填写完成之后,会得到 server.key 、 server.csr 两个文件。
并且,将这两个文件保存至本地、保存,以后还会用到。
如图:
用WinSCP登陆vps,打开server.csr,复制文件内的所有内容。
在 Select web server 选择你的服务器,在下拉菜单选择 Apache 2 ,
之后,在下面 Enter csr 输入在服务器上生成的csr(即刚复制的内容)。
如图:
点击下一步,选择域名邮箱,格式为:admin@.xxx.xxx 以此验证域名所有权。
(没有域名邮箱的话可以用你自己的域名去腾讯免费企业邮箱,网易免费企业邮箱注册)
接下来,需要填写个人信息
如图:
这些步骤完成之后,你的域名邮箱会收到一封带验证码的邮件,将验证码输入到邮件所提供的链接网页,等待一会即可收到ssl证书压缩包。
压缩包内包含以下4个文件:
三、Apache 2 安装ssl证书
3.1 在vps中创建ssl证书存放目录
将获取的压缩包解压缩,并将所有文件上传至vps的任意目录。
这里放在/etc/apache2/ssl/下。
可用WinSCP登陆vps,找到 /etc/apache2/ 目录,创建名为 ssl 的新文件夹,将所有证书文件直接拖过去即可。
说明:沃通证书收到的压缩包内选择 apache2 压缩包解压缩后得到3个文件。
Namecheap 证书压缩包内为四个文件。
3.2 Apache 2 下ssl证书的安装
3.2.1 启用SSL模块, 执行命令:
a2enmod ssl
重启 apache2/etc/init.d/apache2 restart
3.2.2 修改apache 2 配置文件
在/etc/apache2/sites-available/目录, 将default-ssl文件复制到 sites-enabled 目录, 并将其名称修改为 001-ssl
编辑001-ssl文件,
用WinSCP打开 /etc/apache2/sites-available/001-ssl.conf文件,直接编辑,保存。
(1)Namecheap SSL的配置
WinSCP打开/etc/apache2/sites-available/001-ssl.conf文件,
在SSLEngine on内容下面,注释掉以下内容:
#SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
#SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
之后 在下面添加如下内容:SSLCertificateFile /etc/apache2/ssl/xxxx_com.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
SSLCertificateChainFile /etc/apache2/ssl/COMODORSADomainValidationSecureServerCA.crt
说明: xxx_com.crt 是你的域名crt文件 server.key见上面教程。如图:
编辑好之后,保存退出。
在putty中执行命令,重启Apache 2
/etc/init.d/apache2 restart
Namecheap ssl证书安装结束。此时你的网站就同时支持https及http访问了。
补充:
上面步骤完成之后,PC端https访问没有问题,但是发现某些手机端(主要是安卓机)上,尤其是国产浏览器https访问会提示证书过期等问题。
解决办法
WinSCP打开 /etc/apache2/ssl/COMODORSADomainValidationSecureServerCA.crt 文件,接着打开 /etc/apache2/ssl/COMODORSAAddTrustCA.crt 文件,复制COMODORSAAddTrustCA.crt文件内的所有内容到COMODORSADomainValidationSecureServerCA.crt文件内,最后打开 /etc/apache2/ssl/AddTrustExternalCARoot.crt 按同样方法,将所有内容复制到第一个文件内。保存,退出。
(文件名太长,有点乱,总之,就是将三个.crt文件合成一个,名字最长的为第一个,按顺序将另外两个.crt文件里的有内容复制件到第一个文件内。。。就这意思。。。汗~~~)
具体顺序为
A:COMODORSADomainValidationSecureServerCA.crt
B:COMODORSAAddTrustCA.crt
C:AddTrustExternalCARoot.crt
顺序一定不要出错,最后putty输入
/etc/init.d/apache2 restart
重启Apache即可。
(2) 免费沃通ssl证书的安装
WinSCP打开/etc/apache2/sites-available/001-ssl.conf文件,
在SSLEngine on内容下面,注释掉以下内容:
#SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
#SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
之后 在下面添加如下内容:SSLCertificateFile /etc/apache2/ssl/2_xxx.com.crt
SSLCertificateKeyFile /etc/apache2/ssl/3_hbutbst.tk.key
SSLCACertificateFile /etc/apache2/ssl/1_root_bundle.crt
如图:
编辑好之后,保存退出。
在putty中执行命令,重启Apache 2
/etc/init.d/apache2 restart
沃通ssl证书安装结束。此时你的网站就同时支持https及http访问了。
四、 Apache 2下强制网站https访问
(不再支持http,http访问时会强制重定向到https)用WinSCP打开/etc/apache2/sites-available/000-default.conf文件,进行如下编辑:
在 <VirtualHost *.80>里加入如下内容
RewriteEngine On
RewriteCond %{HTTPS} !on [NC]
RewriteRule (.*) https://xxx.com%{REQUEST_URI} [R=301,NC,L]
注意:将https://xxx.com替换成你自己的域名最后,在putty中重启Apache
/etc/init.d/apache2 restart
至此,Apache下安装ssl证书及强制网站https访问教程结束。