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

目标:

让自己的网站,yyii.info用https://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

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...

时间: 2024-11-08 18:19:54

如何部署HTTPS 申请证书 安装证书的相关文章

网络安全系列之四十七 在IIS6中申请并安装证书

之前通过设置基本身份验证,可以实现客户端在访问指定的虚拟目录时,必须要输入用户名和密码进行验证,但是基本身份验证的信息在网络中是明文传输的,我们可以通过为站点申请并安装证书,来实现数据的加密传输.实验环境中的CA证书服务器已经搭建好,这里只介绍在Web服务器上的证书申请和安装过程. (1)生成证书请求 在Web服务器上右击需要申请证书的网站,打开属性界面,选择"目录安全性"选项卡,并单击"服务器证书"按钮,如图所示. 在"IIS证书向导"中选择&

Mac charles 抓取https请求,安装证书后还是显示unknown

https://blog.csdn.net/qq_23114525/article/details/81460840 1. 配置证书 2. 设置钥匙串信任 3. 设置手机代理 端口号需要对应设置的端口号 4. 手机需要设置证书信任关系 通用->关于本机->证书信任设置(必须勾选上) 5. 可以成功抓取https的请求了 如果出现一部分网站的https可以请求一部分的https不能抓取还是显示unknown,检查一下自己电脑的网络设置,之前我一直不能抓取是因为我的DNS配置错误了 这里的问题是我

Nginx上部署HTTPS + HTTP2

Nginx上部署HTTPS依赖OpenSSL库和包含文件,即须先安装好libssl-dev(或者OpenSSL),且ln -s /usr/lib/x86_64-linux-gnu/libssl.so  /usr/lib/,然后在编译配置Nginx时要指定--with-http_ssl_module和--with-http_v2_module.另外,若要在本地运行openssl命令,要安装OpenSSL包,本人用的OpenSSL-1.0.2g.注:本文采用Ubuntu 16.04上的操作实例. 下

【Other】申请免费的SSL证书及部署Https协议

序: 如今的开发中我们会注意到很多的网站都从http协议变成了https,不谈技术,但从外观就比较招我喜爱.故今天研究一下. 0x01:简谈http与https两者的区别. http:http为超文本传输协议,数据传输以明文的方式传输. https:https为http + ssl组成的加密传输的网络协议,与http相比较为安全.(盗一张图) 优缺点:优点 -> https在传输中对数据进行密文发送,大大降低了中间人拦截/篡改数据. 缺点 -> https并非绝对安全,由于数据进行了加密在性能

iOS https认证 && SSL/TLS证书申请

1.下面列出截止2016年底市面上常见的免费CA证书: 腾讯云SSL证书管理(赛门铁克TrustAsia DV SSL证书)阿里云云盾证书服务(赛门铁克DV SSL证书)百度云SSL证书服务Let's Encrypt 国内BAT免费证书期限均为1年,每个证书对应一个独立的域名,可以申请多个证书,前提是需要注册账号.Let's Encrypt免费证书期限均为3个月,证书支持泛域名(支持多个域名). 另外,补充2个已经被Firefox, Chrome等浏览器明确表示弃用的CA厂商:StartSSL免

Nginx配置SSL证书部署HTTPS网站(转)

原文:http://www.lovelucy.info/nginx-ssl-certificate-https-website.html 一.什么是 SSL 证书,什么是 HTTPS SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现: 1.数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听: 2.用户可以通过服务器证书验证他所访问的网站是否真实可靠. (via百度百科) HTT

在Ubuntu使用 Let's Encrypt 证书部署 HTTPS的方法

获取软件包: $ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install python-certbot-apache 自动安装与部署证书: $ sudo certbot --apache 它会自动安装插件,然后你需要输入邮箱来用于证书

【使用教程】论Windows下必备的抓包工具Fiddler2如何安装证书(查看Https)

一.写在前面 好久没更新博客了,最近也是忙着年前的一些事情,所以一直没来得及弄一些有价值的东西,还是来冒个泡.随着苹果公司要求的2017年开始上架审核必须是Https,而原本Http的上架需要提交强烈的申请理由.而在我们的windows平台下,一般使用的抓包工具都是fiddler,而fiddler默认是抓取http类型的接口,而想要查看https的类型的接口就需要安装fiddler证书. 二.操作步骤 1.确保你安装的是fiddler较新的版本,比较老的可能会出现安装不上fiddler证书生成器

有了SSL证书,如何在IIS环境下部署https?【转载】

昨天各位小伙伴都很开心的领取了自己的SSL证书,但是大部分小伙伴却不知道如何部署,也许是因为第一次接触SSL这种高端的东西吧,不过个人觉得就是懒懒懒...本来小编也挺懒的,但是答应了各位小伙伴的,那么今天就教大家如何在IIS环境下部署HTTPS证书吧.(建议在PC端阅读) 1.首先我们要取走我们的证书,保存在我们本地的电脑里,然后复制到服务器即可. 2.取走后接下来干嘛?当然是打开文件看看里面有些什么啊.我们找到IIS那个压缩包并解压. 3.解析得到pfx文件,也就是我们需要部署域名的证书文件.