SSL模块在默认情况下没有安装,如果需要使用该模块,则需要在编译过程中指定–with-http_ssl_module参数,安装模块依赖于openSSL库和一些引用文件,通常不在同一个软件包中通常这个文件的名称类似于libsl-dev。
1、生成证书一个简单的证书可以通过以下步骤生成:首先,进入您想要创建证书和私钥的目录,例如:$ mkdir -p /etc/nginx/ssh/$ cd /etc/nginx/ssh/# 生成RSA密钥
$ openssl genrsa -des3 -out your-domain.key 1024Enter pass phrase for domain.com.key:设置密码# 复制不需要输入密码的密钥文件
$ openssl rsa -in your-domain.key -out your-domain_nopass.keyEnter pass phrase for domain.com.key:输入密码
# 生成证书请求$ openssl req -new -key your-domain.key -out your-domain.csrEnter pass phrase for domain.com.key:输入密码
# 自己签发证书$ openssl x509 -sha256 -req -days 365 -in your-domain.csr -signkey your-domain.key -out your-domain.crt
Enter pass phrase for domain.com.key:输入密码第三个命令是生成证书请求,这将提示您输入省份、城市和域名信息重要的是,电子邮件必须是您的域名后缀;或者不填写,直接返回这样就有一个了 csr 提交文件 ssl 当提供商是这样的时候 csr 文件。
当然,我没有向证书提供商申请,而是在第四步签发了证书整个流程图:nginx编辑配置文件.conf,添加HTTPS协议的站点server {server_name YOUR_DOMAINNAME_HERE;
listen 443;ssl on;ssl_certificate /etc/nginx/ssh/your-domain.crt;ssl_certificate_key /etc/nginx/ssh/your-domain_nopass.key;
}若ssl_certificate_key 使用your-domain.key,Nginx服务器每次启动都需要输入key密码重启Nginx后,可以通过https访问网站自行颁发的SSL证书可以实现加密传输功能,但浏览器并不信任,会出现以下提示:。
2、信任浏览器的证书要获得浏览器信任的证书,您需要向证书提供商申请证书授权中心,又称CA机构,为每个使用公共密钥的用户发放数字证书在默认情况下,浏览器内置了一些CA机构的证书,使这些机构颁发的证书受到信任。
Verisign是国外著名的CA机构工行、建行、招行、支付宝、财付通等网站均使用Verisign证书,而网易邮箱等非金融网站则使用中国互联网信息中心 SSL证书由CNIC颁发一般来说,证书的价格是昂贵的,以Verisign证书为例,每年的价格在8000元左右。
据说还有免费证书可以申请和VeriSign一样,StartSSL 也是CA机构,其根证书长期以来一直受到一些具有开源背景的浏览器的支持(Firefox浏览器、谷歌Chrome浏览器、苹果Safari浏览器等。
).后 微软来到StartSSL:在升级补丁中,微软更新了Windows证书认证(Windows Root Certificate Program)第一次将Startcom公司列入认证清单的制造商清单现在,在Windows, 7或安装升级补丁的Windows Vista或Windows 在XP操作系统中,系统将完全信任Startcom等免费数字认证机构认证的数字证书,使StartSSL也得到IE浏览器的支持。
3、https加密仅用于注册和登录既然HTTPS可以保证安全,为什么世界上大多数网站仍然使用HTTP?使用HTTPS协议对服务器来说是一个巨大的负载成本考虑到性能,我 人们无法安全加密每个用户的每一个访问请求(当然,谷歌等大神除外)。
作为一个普通的网站,我们只追求交易、密码登录和其他操作 作时安全rewrite可以通过配置Nginx服务器来实现这一点
来源:德斯软件资讯