·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设问答 >> Nginx 配置 SSL 证书 + HTTPS 站点小记

Nginx 配置 SSL 证书 + HTTPS 站点小记

作者:佚名      网站建设问答编辑:admin      更新时间:2022-07-23

给几个站点配置了认证的 ssl 证书,但是苦于自己技术不过关,或是知识不足,导致还有那么一小点 Bug 的出现,这里就我配置 HTTPS 站点的经验来总结一下吧。

一、什么是 SSL 证书,什么是 HTTPS 网站?

SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。(来源

二、什么网站需要 SSL 证书?

就我遇到过的网站,配置了认证的证书的,大概有这么几类:

1、购物交易类网站

这个就不用说了,支付宝、Paypal等肯定会加密以保护你的密码安全。

2、注册类站点

有些大站点,注册会员或者登陆的时候,会专门通过SSL通道,来保护你的密码安全,比如:https://www.name.com/account/login.php

3、在线代理类站点

这个,为了防止某个部门嗅探出没加密的内容,嗯哼,就不说了。

4、耍酷类

比如我……

三、Nginx 下如何配置证书

之前,我介绍过如何购买并且配置 Godaddy 的证书:《Godaddy SSL证书以及 Nginx 配置HTTPS方法》,后来因为一个小失误,每次修改 Nginx 配置,重启 Nginx 的时候都会输入密码,所以之后买了 Comodo 的证书,并且让 @Paveo 帮我全部配置好,哈哈。

但是总请别人来配置总不太好意思,所以我得自己研究一下,然后,就当作记录和总结吧。

1、Nginx 配置 ssl 模块

默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下:

下载 Nginx 0.7.64 版本,解压 进入解压目录:

wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz
tar zxvf nginx-0.7.64.tar.gz
cd nginx-0.7.64

如果要更改header信息的话,

vi src/core/nginx.h
#define NGINX_VERSION      "0.7.62"
#define NGINX_VER          "nginx/" NGINX_VERSION

上面的版本号和nginx自己修改

编译

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make

make

切记不要 make install

因为是小网站,用不着平滑升级,直接 reboot 重启 vps 即可。

OK,升级并且安装好 ssl 模块完毕,这里我把 Nginx 修改成了 zoulu,于是乎:

怎么样,很有个性吧!

2、使用 OpenSSL 生成证书

①、生成RSA密钥的方法

openssl genrsa -out privkey.pem 2048

有的证书要 1024 的,所以得:

openssl genrsa -out privkey.pem 1024

②、生成一个证书请求

openssl req -new -key privkey.pem -out cert.csr

会提示输入省份、城市、域名信息等,重要的是,email 一定要是你的域名后缀的,比如 [email protected] 并且能接受邮件!

这样就有一个 csr 文件了,提交给 ssl 提供商的时候就是这个 csr 文件

直接 cat cert.csr

得到一大串字符,比如这样:

-----BEGIN CERTIFICATE REQUEST-----
MIIBsTCCARoCAQAwcTELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkhCMQwwCgYDVQQH
EwNTSloxDzANBgNVBAoTBkZhbmZvdTESMBAGA1UEAxMJZzFuZm91LmRlMSIwIAYJ
KoZIhvcNAQkBFhN3ZWJtYXN0ZXJAZmFuZm91LmRlMIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQC5l4PmZg6TCIpduefxq5gsLXN1JeQdBmUs+pEApeHmNoxE+R4k
VkQUJzLj5o3ltQGJzYrcIfru8NryQSxaT/5IjeFwS7nIMsx8KPkQQ71BJazsiZj+
CdLDRJj1m/SrjTsNrfYj4rFFS1FXq7uEDyreUx7fyAljx70jPSsGBOGwRQIDAQAB
oAAwDQYJKoZIhvcNAQEFBQADgYEACKCBQcnCq5yE3GFyN3NyxCQEvnspkIv9AqI4
FcwqyHPZWkupp3wfubHY80IwtfjlGlTSynzE7FZLVpcbNfKLnAYlYEwDY7NukJNy
pCbyqpJJXdAl3Jcun0NlLtSxTQpR+abO8va/BAO5Hp9h1rpSRtTdSJd2fC/owRV1
BfRuJnA=
-----END CERTIFICATE REQUEST-----