开发者社区> 技术小胖子> 正文

如何部署HTTPS 申请证书 安装证书

简介:
+关注继续查看

目标:

让自己的网站,yyii.infohttps://yyii.info访问,


条件:

1.用的是阿里云服务器,

  https://promotion.aliyun.com/ntms/act/qwbk.html   330/年。40G

  用oneinstack一键安装的。https://oneinstack.com/


2.在阿里云申请一个免费的证书。在安全(云盾)栏目->证书服务。

申请后,大约1天,会提示下载相关文件,上传到网站下。然后再等待自动审核通过。

之后,就能下载证书。

下载来有4个文件,

214113615990489.key,

214113615990489.pem,

chain.pem

public.pem

(域名放在西部数码的,也能申请一个免费证书。好象不能用到阿里云这边来。)


阿里云里有相关说明,如何布署证书。(这一段见本文后面)

因我的服务器是按oneinstack安装的。就不需使用阿里云的方法。


3.配置网站

./vhost.sh

配置了一个网站,

Do you want to setup SSL under Nginx? [y/n]: y

其他的按提示来。上面如果不是配置https的网站,就选n.


4.然后,可看到,

在/usr/local/nginx/conf/ssl

生成了,三个文件,

yyii.info.crt

yyii.info.csr

yyii.info.key


5.

但同时,也报了如下:

nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/usr/local/nginx/conf/ssl/yyii.info.crt"

AH00526: Syntax error on line 6 of /usr/local/apache/conf/vhost/yyii.info.conf:

Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration


https仍是不能访问。


6.


群主yeho告诉我:你这个自签名证书 自己购买证书替换 重启nginx即可


7.

我在阿里云申请得到一年的免费证书,

下载来有4个文件,

214113615990489.key,

214113615990489.pem,

chain.pem

public.pem


然后,我是把这4个文件,放在,/usr/local/nginx/conf/ssl下

214113615990489.key,重命名为 ,域名.key

214113615990489.pem重命名为, 域名.crt  


在此感谢群主指点,不然自己哪里会知道啊!


8.重启nginx


9.https://yyii.info就可以访问了!

有一点注意,如果网站下有index.html,会先读index.html.


10.

让我们再看看:

oneinstack生成的/usr/local/nginx/conf/vhost/yyii.info.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
server {
  listen 80;
  listen 443 ssl http2;
  ssl_certificate /usr/local/nginx/conf/ssl/yyii.info.crt;
  ssl_certificate_key /usr/local/nginx/conf/ssl/yyii.info.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  add_header Strict-Transport-Security max-age=15768000;
  ssl_stapling on;
  ssl_stapling_verify on;
  server_name yyii.info;
  access_log off;
  index index.html index.htm index.php;
  root /data/wwwroot/yyii.info;
  if ($ssl_protocol "") { return 301 https://$host$request_uri; }
 
 
  location / {
    try_files $uri @apache;
  }
  location @apache {
    proxy_pass http://127.0.0.1:88;
    include proxy.conf;
  }
  location ~ .*\.(php|php5|cgi|pl)?$ {
    proxy_pass http://127.0.0.1:88;
    include proxy.conf;
  }
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    expires 30d;
    access_log off;
  }
  location ~ .*\.(js|css)?$ {
    expires 7d;
    access_log off;
  }
  location ~ /\.ht {
    deny all;
  }

11.看看 阿里云里写的如何安装证书,apache下,

安装证书

文件说明:
1.证书文件214113615990489.pem,包含两段内容,请不要删除任何一段内容。
2.如果是证书系统创建的CSR,还包含:证书私钥文件214113615990489.key、证书公钥文件public.pem、证书链文件chain.pem
( 1 )Apache的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为214113615990489.key
( 2 ) 打开apache 安装目录下conf 目录中的httpd.conf 文件,找到以下内容并去掉“#”
#LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
#Include conf/extra/httpd-ssl.conf
( 3 ) 打开 apache安装目录下 conf/extra/httpd-ssl.conf文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:
# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
# 修改加密套件如下
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
# 证书公钥配置
SSLCertificateFile cert/public.pem
# 证书私钥配置
SSLCertificateKeyFile cert/214113615990489.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/chain.pem
( 4 ) 重启 Apache
( 5 ) 通过https方式访问您的站点,测试站点证书的安装配置,如遇到证书不信任问题,请查看相关文档

----------  招募未来大神 -----------------------

如果您有利他之心,乐于帮助他人,乐于分享
如果您遇到php问题,百度且问了其他群之后仍没得到解答

欢迎加入,PHP技术问答群,QQ群:292626152

教学相长!帮助他人,自己也会得到提升!

为了珍惜每个人的宝贵时间,请大家不要闲聊。

愿我们互相帮助,共同成长!

加入时留言暗号,php,ajax,thinkphp,yii...



     本文转自phpervip 51CTO博客,原文链接http://blog.51cto.com/phpervip/1932004:,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云免费SSL证书申请教程及数量限制说明
阿里云免费SSL证书(原DIgicert免费单域名证书),每个阿里云账号一个自然年限制申请20个免费SSL证书详细说下阿里云免费SSL证书申请教程及限制说明:
119 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14208 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
27751 0
2020阿里云免费SSL证书申请攻略
阿里云有免费SSL证书吗?当然有!很多同学找不到,阿里云免费证书从Symantec品牌改成DigiCert,申请方法如下:
5664 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
12976 0
多域型SSL证书和通配型SSL证书安装指南
对于一般的单域型SSL证书,由于一台物理服务器(一个IP)中只有一个443端口用于缺省的SSL端口,如果还有其他Web服务器要安装SSL证书,则只能用其他端口了。
1887 0
https安全证书如何申请 https证书申请流程及费用
  随着谷歌、百度等主流浏览器大力支持鼓励网站安装SSL证书进行https加密,保障网站安全,网站安装https证书已经成为一种趋势。那么,https安全证书如何申请?申请https证书需要什么?https证书申请多少钱?      一、什么是https证书?     https证书也就是SSL证书,网站通过申请SSL证书将http协议升级为https加密协议,搭建加密传输、身份认证的网络安全通道。
4025 0
21115
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载