这篇文章主要介绍了免费SSL证书startssl如何申请和安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
首先访问 StartSSL.com 点击 Sign-up 进行注册
每一行输入一个域名
只能输入五行(五个域名)
那么怎么生成 CSR 呢?这里演示一下 StartCom 的小小绿色工具的用法,首先在这个页面中点击StartComTool.exe
下载到本地,运行该程序:
之后,我们点击Submit
提交申请。
不出意外的话,我们的证书文件立刻就生成好了:
下载
经过整理,文件夹中会有如下文件:
app.williamyao.com.csr(签名文件)
app.williamyao.com.key(密钥文件)
app.williamyao.com.zip(下载下来的证书文件压缩包)
INTRO(文本文件,里面记录一下上面三个文件的生成日期,以及证书文件的到期日期等等)
在进行配置之前稍作一个假设,Nginx 以虚拟主机方式保存配置文件,即每个虚拟主机有自己单独的.conf
文件,这种方式比把所有东西都丢进nginx.conf
里面强得多,而且现代版本的 Nginx 都是默认采用虚拟主机方式进行配置了。
至于为什么做这样的铺垫,是为了下面解决容易碰到的一个问题,我们到达那个步骤的时候再详细说明。
我们需要将两套文件上传到服务器,每一套中有两个文件,一个是 CRT 证书文件,一个是 KEY 密钥文件,用于启用www.williamyao.com
以及app.williamyao.com
这两个域名对应虚拟主机的 SSL 支持,
这里将每套两个文件做如下命名:
www.williamyao.com.crt
www.williamyao.com.key
app.williamyao.com.crt
app.williamyao.com.key
然后传到服务器上
先别急,这里说明一下,启用 SSL 的一般做法是,虚拟主机的主server
段不监听 80 端口,而是直接监听 443 端口,然后在主server
配置段后新开一个server
段监听相同server_name
的 80 端口,并将请求 301 重定向到 HTTPS.
这样做的好处是,不管访问者是否制定 HTTPS 协议(一般人上网大都只会输入域名,不会先写协议的吧……),只要输入域名,Nginx 接到请求后就会将请求重定向到 443 端口的 SSL 主机上。
下面我们也打算这么做,以我为例:
SSH 到服务器上,分别编辑两个虚拟主机的 conf 配置文件,我们先来第一个:
sudo nano /usr/local/nginx/conf/vhost/www.williamyao.com.conf
将配置信息添加到配置文件中,配置好的www.williamyao.com.conf
文件形如这个样子:
server { listen 443 ssl; # 下面这一行用于启用 IPv6 支持 listen [::]:443 ssl ipv6only=on; server_name www.williamyao.com; # SSL 支持配置如下 ssl on; ssl_certificate /etc/ssl/private/www.williamyao.com.crt; ssl_certificate_key /etc/ssl/private/www.williamyao.com.key; ...(其他配置)... } server { listen 80; listen [::]:80 ipv6only=on; server_name www.williamyao.com; return 301 https://www.williamyao.com$request_uri; }
之后编辑另一个虚拟主机app.williamyao.com.conf
配置文件,形如下面这样:
server { listen 443 ssl; # 下面这一行用于启用 IPv6 支持 listen [::]:443 ssl; server_name app.williamyao.com; # SSL 支持配置如下 ssl on; ssl_certificate /etc/ssl/private/app.williamyao.com.crt; ssl_certificate_key /etc/ssl/private/app.williamyao.com.key; ...(其他配置)... } server { listen 80; listen [::]:80; server_name app.williamyao.com; return 301 https://app.williamyao.com$request_uri; }
全部配置完毕后,重启 Nginx 或者 Reload,不出意外的话,回到浏览器,输入域名(可以不带 HTTPS,顺便测试一下 301 转发),是否一切正常?
恭喜你,你的服务器已经被标记为“安全”了!
1. 用自已公司的信息,生成自已的CSR文件和key文件,方法如下之一。
第一种:在线生成[https://www.trustasia.com/tools/csr-generator.htm]
第二种:
openssl req -new -nodes -keyout yourname.key -out yourname.csr
linux命令行生成
第三种:[https://download.startpki.com/startcom/startcomtool.exe] 下载并使用此工具生成
2.使用自已的csr和key文件在startssl.com上注册自已的域名,并生成自已的证书crt。
[https://startssl.com/Certificates/ApplySSLCert](https://startssl.com/Certificates/ApplySSLCert)
3.在nginx上配置并使用自已的证书crt
# server { listen 443; server_name xxx.clcw.com.cn; root html; ssl on; ssl_certificate /home/songaimin/job/nginx-conf/ssl/xxx.clcw.com.cn_bundle.crt; ssl_certificate_key /home/songaimin/job/nginx-conf/ssl/xxx.clcw.com.cn.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { } }
重启nginx服务器,查看443是否正常启动。 访问https://xxx.clcw.com.cn看地址栏,有绿色小锁的标记。恭喜你成功了!!!!
#五、只针对注册、登陆进行https加密处理 #既然HTTPS能保证安全,为什么全世界大部分网站都仍旧在使用HTTP呢?使用HTTPS协议,对服务器来说是很大的负载开销。从性能上考#虑,我 们无法做到对于每个用户的每个访问请求都进行安全加密(当然,Google这种大神除外)。作为一个普通网站,我们所追求的只#是在进行交易、密码登陆等操 作时的安全。通过配置Nginx服务器,可以使用rewrite来做到这一点。 #在https server下加入如下配置: if ($uri !~* "/logging.php$") { rewrite ^/(.*)$ http://$host/$1 redirect; } #在http server下加入如下配置: if ($uri ~* "/logging.php$") { rewrite ^/(.*)$ https://$host/$1 redirect; } #这样一来,用户会且只会在访问logging.php的情况下,才会通过https访问
感谢你能够认真阅读完这篇文章,希望小编分享的“免费SSL证书startssl如何申请和安装”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。