购买https证书以及nginx配置https

文章来源
运维公会:购买https证书以及nginx配置https

1、https的作用
https的全名是安全超文本传输协议,是在http的基础上增加了ssl加密协议。在信息传输的过程中,信息有可能被劫持,从而造成数据的丢失,而如果使用的是https的话,即使信息被劫持,因为在传输过程中,信息是被加密的,所以也能保证数据的安全性。

2、申请证书
目前在阿里云或者腾讯云上都可以购买证书,现在以阿里云为例购买证书
在阿里云的产品与服务上找到SSL证书

点击购买证书,可以看到有免费型的SSL证书。如果是个人使用,用这个就行,如果是企业的话,就需要根据自己的具体需求去购买证书。
免费型的只能对应一个固定的二级域名。

选择证书申请,后边就根据提示,写清楚自己的域名,信息就下一步,然后验证就可以了。

当状态变为以签发后,就能下载证书了,然后上传到服务器上边。

3、查看nginx是否有--with-http_ssl_module模块

使用https,是需要使用ssl模块。如果没有需要安装。

4、配置https
一下是本机的配置
ssl on;
ssl_certificate ssl/2943505_www.yunweigonghui.com.pem;#最好写绝对路径
ssl_certificate_key ssl/2943505_www.yunweigonghui.com.key; #最好写绝对路径
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

至于server中其余的配置,只要和配置http的保持一致就行了。也就是80端口里边如何配置,这个443端口里边就如何配置。

5、参数详解
个人认为除了ssl_certificate和ssl_certificate_key需要根据实际情况去配置,别的默认就可以。
参数 解释
ssl on; 开启ssl模块
ssl_certificate ssl/ssl.pem; 存放公钥的位置(一般都使用crt格式或pem格式公钥证书)
ssl_certificate_key ssl/ssl.key; 存放key的位置
ssl_session_cache shared:SSL:1m; 存储session参数的缓存的类型和大小
ssl_session_timeout 5m; 等待超时时间
ssl_ciphers HIGH:!aNULL:!MD5; 密钥的算法,这个写几个就行了
ssl_prefer_server_ciphers on; 优先使用服务器的算法,当使用SSLv3和TLS协议时生效

如果开了防火墙的话,别忘了放通443端口。

6、增加http跳转
免不了客户端还是使用http去访问页面,这个时候只要加上下边的配置就能实现从http跳转到https。
server {
listen 80;
server_name www.yunweigonghui.com;
rewrite ^(.*)$ https://$host$1 permanent;
location / {
index index.html index.htm;
}

原文地址:https://blog.51cto.com/4856198/2442774

时间: 2024-10-10 01:47:59

购买https证书以及nginx配置https的相关文章

【Nginx】使用certbot安装免费https证书使Nginx支持Https请求

certbot官网:https://certbot.eff.org/lets-encrypt/centosrhel7-nginx 一.安装步骤 1)安装certbot,执行  sudo yum install certbot python2-certbot-nginx 2)检查是否安装成功,执行  certbot --help [[email protected] ~]# certbot --help Traceback (most recent call last): File "/usr/b

nginx 配置https并自签名证书

2016-10-28 转载请注明出处:http://daodaoliang.com/ 作者: daodaoliang 版本: V1.0.1 邮箱: [email protected] 参考链接: 这里 和 这里 和 官方文档 1. 制作服务器证书 服务器CA私钥: openssl genrsa -des3 -out ca.key 2048 制作解密后的CA私钥(一般无此必要): openssl rsa -in ca.key -out ca_decrypted.key ca.crt CA根证书(公

nginx证书制作以及配置https并设置访问http自动跳转https(反向代理转发jboss)

nginx证书制作以及配置https并设置访问http自动跳转https 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中.通常这个文件名类似libssl-dev. 生成证书 可以通过以下步骤生成一个简单的证书: 首先,进入你想创建证书和私钥的目录,例如: $ cd /usr/local/nginx/conf 创建服务器私钥,命令会让你输入一个口令: $

nginx配置https及Android客户端访问自签名证书

前一篇随笔通过keytool生成keystore并为tomcat配置https,这篇随笔记录如何给nginx配置https.如果nginx已配置https,则tomcat就不需要再配置https了.通过以下三步生成自签名证书# 生成一个key,你的私钥,openssl会提示你输入一个密码,可以输入,也可以不输,# 输入的话,以后每次使用这个key的时候都要输入密码,安全起见,还是应该有一个密码保护> openssl genrsa -des3 -out selfsign.key 4096 # 使用

https(ssl)免费证书申请及nginx配置https(ssl)

首先推荐免费证书的申请url:https://freessl.org/ 然后就是上面证书申请的流程,这里可以参考一篇阿里云里面的博文(我会补充一些细节): https://yq.aliyun.com/articles/225669?spm=5176.10695662.1996646101.searchclickresult.1da01cb9Hyk86J freessl免费证书申请补充: 一.补充一下配置DNS验证的流程,我这里用的是阿里云: 然后点击添加记录 确定 完成,全选,启用一下就可以了:

nginx配置https证书

连接错误,不安全 并不是hsts的锅 chrome://net-internals/#hsts, 大部分原因还是证书的问题 NET::ERR_CERT_COMMON_NAME_INVALID 证书域名和实际访问的域名要匹配:SAN 证书中增加SAN域名 open ssl openssl genrsa -out server.key 1024 openssl req -new -x509 -days 3650 -key server.key -out server.crt -subj "/C=CN

Nginx配置https服务器

配置HTTPS主机,必须在server配置块中打开SSL协议,还需要指定服务器端证书和密钥文件的位置: server { listen 443;  #要加密的域名 server_name www.test.com; ssl on; #证书所在位置,本例默认放在了nginx的conf目录下 ssl_certificate ssl.crt;  #密钥所在位置,本例默认放在了nginx的conf目录下 ssl_certificate_key server.key; ssl_session_timeou

【转】Linux下nginx配置https协议访问的方法

一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/nginx -V 如下所示: configure arguments: --prefix=/usr/local/nginx --with-google_perftools_module --without-http_memcached_module --user=www --group=www --

关于Nginx配置Https server后,乱跳的问题解决记录

大部分的服务器上,我们会在一个Nginx服务下配置多个vhost,以最大化运用服务器资源.然而,为其中一个vhost域名启用 HTTPS 之后,发现百度统计的实时访客或入口页中,存在一些来自其它域名的请求.即通过 https://some-other-domain.com/some-url 来访问对应的 https://www.domain.com/some-url 结果就是 Google 浏览器显示了一个安全警告页面,认为这是一个不安全的网页.因为我只配置了 www.domain.com 的