HTTPS来了!免费领HTTPS证书网站部署了SSL证书,确保信息传输安全

时间:2019-01-02 09:36:37

HTTPS的全称是Secure Hypertext Transfer Protocol(安全超文本传输协议),是在http协议基础上增加了使用SSL加密传送信息的协议。我们还是用天地会接头的例子来讲,大家可能觉得每 次天地会接头都是使用“地震高岗,一派西山千古秀!”这类妇孺皆知的接头暗号,这样的组织还有什么安全性可言?只要说出了暗号那么就可能获得天地会的相关 秘密。事实上并不是这样的,如果仅仅是靠一个妇孺皆知的接头暗号进行信息保密,天地会可能早被清兵围剿了,何来那么多传奇故事呢?他们之间的交流除了使用 了接头暗号外,可能还是用了“黑话”,就是一些仅仅只有天地会成员才能听懂的黑话,这样即使天地会成员之间的交谈信息被泄露出去了,没有相关揭秘的东西, 谁也不会知道这些黑话是什么?同样HTTPS协议就如同上面天地会的信息交谈一样,它也将自己需要传输的超文本协议通过SSL加密,让明文变成了“黑话” 即使传输的信息被人捕获,捕获的人也没办法知道其实际内容。

免费领HTTPS证书网站部署了SSL证书

它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的 安全版。 它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安 全全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使 用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。

      HTTPS和HTTP的区别:

      https协议需要到ca申请证书,一般免费证书很少,需要交费。

      http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

      http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。

      http的连接很简单,是无状态的。

      HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

申请操作

Step1: 创建Let’s Encrypt账户私钥 地址:https://letsencrypt.org/

openssl genrsa 4096 > account.key

Step2: 为您的域创建证书签名请求(CSR)

# Generate a domain private key (if you haven't already)
openssl genrsa 4096 > domain.key
# For a single domain 单域名
openssl req -new -sha256 -key domain.key -subj "/CN=yoursite.com" > domain.csr
# For multiple domains 多域名 (use this one if you want both www.yoursite.com and yoursite.com)
openssl req -new -sha256 -key domain.key -subj "/" -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN] subjectAltName=DNS:yoursite.com,DNS:www.yoursite.com")) > domain.csr

Step3:让你的网站主机challenge 文件

# Make some challenge folder (modify to suit your needs)
mkdir -p /var/www/challenges/
# Example for nginxserver { listen 80; server_name yoursite.com www.yoursite.com; location /.well-known/acme-challenge/ { alias /var/www/challenges/; try_files $uri =404;
}
...the rest of your config
}

Step4: 获得签名证书!

# 下载acme_tiny.py 这个是github地址https://github.com/diafygi/acme-tiny.git
# Run the script on your server
python acme_tiny.py --account-key ./account.key --csr ./domain.csr --acme-dir /var/www/challenges/ > ./signed_chain.crt

Step5: 安装证书

配置nginx.conf

server {
listen 443 ssl;
server_name yoursite.com, www.yoursite.com;
ssl_certificate /path/to/signed_chain.crt;
ssl_certificate_key /path/to/domain.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA;
ssl_session_cache shared:SSL:50m;
ssl_dhparam /path/to/server.dhparam;
ssl_prefer_server_ciphers on;

...the rest of your config

}
server {
listen 80;
server_name yoursite.com, www.yoursite.com;
location /.well-known/acme-challenge/ {
alias /var/www/challenges/;
try_files $uri =404;
}

...the rest of your config

}

http自动跳转到https

server {
listen 80;
server_name www.52chenqi.cn 52chenqi.cn;
location /.well-known/acme-challenge/ {
root /usr/local/nginx/ssl/www/;
try_files $uri =404;
}
location / {
rewrite ^(.*) https://$server_name$1 permanent;
}
}

注: 以上操作均在linux环境下。

猜你喜欢

版权所有:2019-2021 无双建设   网站地图