liunx服务器配置免费SSL证书:CloudFlare SSL免费CDN加速使用方法与教程

Google对配置了SSL证书的网站表示更加“友好”后,很多网站开始使用Https访问了,同时防止网站被攻击。最近将网站配置ssl过程中出现了一些问题(由于是个人网站所以采用的是免费CloudFlare SSL),由于我用的是AMH面板所以与传统的配置方法可能不太一样,接下来介绍一下我配置的

laravel 框架制作网站安装ssl证书配置https后安全检测后报错降分的三个原因

1.AMH面板下载BBShijieSSL模块并安装

SSL

2.服务器 nginx配置ssl

2.1 如果BBShijieSSL模块安装成功系统会新建证书存放路径(/usr/local/nginx/ssl/),如果没有相应的ssl路径就通过命令创建ssl存放路径

mkdir ssl

2.2 生成一个RSA私钥(/usr/local/nginx/ssl目录下)

openssl genrsa -des3 -out tinkpic.key 1024               --其中 tinkpic可以自定义

输入密码并确认密码。(记住此密码)

[root@izm5e4u1jmuzijy7bp2ct1z web]# openssl genrsa -des3 -out tinkpic.key 1024
Generating RSA private key, 1024 bit long modulus
...............................++++++
..........................++++++
e is 65537 (0x10001)
Enter pass phrase for tinkpic.key:
Verifying - Enter pass phrase for tinkpic.key:

2.3.创建csr证书

openssl req -new -key tinkpic.key -out tinkpic.csr     --其中 tinkpic.csr可以自定义命名

按照命令一次输入国家,省份,城市,公司,部门,公司域名,邮箱,私钥密码

[root@izm5e4u1jmuzijy7bp2ct1z web]# openssl req -new -key yangwanli.key -out yangwanli.csr
Enter pass phrase for yangwanli.key:
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) [XX]:CN
State or Province Name (full name) []:TJ
Locality Name (eg, city) [Default City]:TJ
Organization Name (eg, company) [Default Company Ltd]:tinkpic
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:www.tinkpic.com
Email Address []:18222694564@139.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:**私钥密码**
An optional company name []:tinkpic

执行完后会在ssl目录下会有两个文件,一个是私钥(key),一个是证书
tinkpic.csr tinkpic.key

2.4 生成crt证书(也叫合并证书)

openssl x509 -req -days 365 -in tinkpic.csr -signkey tinkpic.key -out tinkpic.crt
[root@izm5e4u1jmuzijy7bp2ct1z web]# openssl x509 -req -days 365 -in tinkpic.csr -signkey tinkpic.key -out tinkpic.crt
Signature ok
subject=/C=CN/ST=TJ/L=TJ/O=tinkpic/OU=IT/CN=www.tinkpic.com/emailAddress=18222694564@139.com
Getting Private key
Enter pass phrase for tinkpic.key:

这样证书就生成了,如果ssl路径中没有生成相关证书文件可以通过cat tinkpic.csr,cat tinkpic.key,cat tinkpic.crt查看三个文件的加密内容并制作相关证书文件上传到服务器中。

2.5 因为我用的是AMH面板(不是AMH用户的可省略这里)配置SSL加密文件,在BBShijieSSL模块中将相关SSL信息填写进去如图:

SSL
添加完毕后/usr/local/nginx/conf/ssl/ 路径中会出现相应的SSL配置文件

tmp.conf
www.tinkpic.com.crt
www.tinkpic.com.pem

这样基于AMH面板配置HTTPS就完成了。

2.6 如果不是AMH面板则需要配置证书

修改nginx.conf文件

 server {
        listen       443 ssl;
        server_name    www.tinkpic.com;
    
        ssl_certificate      /usr/local/nginx/ssl/tinkpic.crt;
        ssl_certificate_key  /usr/local/nginx/ssl/tinkpic.key;
    
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
    
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
}

2.7 设置重定向

在/usr/local/nginx/conf/vhost/中www.tinkpic.com.conf配置如下代码

rewrite ^(.*) https://www.tinkpic.com$1 permanent; #可以把http协议重定向到https上面

3. 重启nginx,根据不同服务选择

amh nginx start
service nginx restart

3.接下来对网站配置CDN加速,使用CloudFlare公司提供的免费SSL

3.1 注册cloudflare用户 https://dash.cloudflare.com/sign-up

3.2 "add websites"添加网站域名,这里不要带www,依照下一步执行

SSL
添加完毕后会检测域名服务商
SSL

3.3 cloudflare扫描网站后或自动扫描出dns解析条目,可以再额外增加和删除解析。嫌麻烦的就直接点击"continue"

SSL

3.4 修改dns服务器

我现在使用的是万网域名,我的域名解析服务器是"dns3.hichina.com",现在需要将服务器修改为cloudflare服务器。

需要到阿里云后台去修改,这里需要注意的是:不是增加或者修改解析条目,而是修改解析服务器。所以在万网后台选择的是"管理"而不是"解析"
SSL
SSL
SSL

3.5,cloudflare域名解析服务器

修改解析服务器后大约需要几分钟就能生效。
解析成功后,会收到一封来自cloudflare的邮件会显示"status:active"
这样网站的CDN加速就配置完毕了

阅读 628

Comments