Nginx 域名SSL证书配置(网站 http 升级为 https)

前言

HTTP 和 HTTPS

我们日常生活中,常见的网址大致分为2种:

一种是基于 http 协议,如:http://www.baidu.com

一种是基于 https 协议,如:https://www.baidu.com

现在很多网站出于安全的考虑,会把网站的域名访问从 http 已经升级为 https,如果你不知道 http 和 https 的概念,不妨先看看下面这篇文章:HTTP和HTTPS有什么不同

SSL 证书

那么我们如何将 http 升级为 https 呢?

我们要升级 http 为 https,首先需要一个 SSL 证书。 SSL 你可以想象为本科毕业证,有个这个本科毕业证,就能证明你是本科生,就都能去申请本科生门槛的招聘。当然,证书可以由不同院校颁发,比如清华本科毕业证和普通三本院校的本科毕业证,这两者的含金量肯定是有不同的。SSL证书也一样,也有不同发签发机构。

配置方式

当有了域名和SSL证书后,我们就可以将域名网址升级为 https 了,我们常用的做法是在 Nginx 中配置域名的 SSL 证书。

具体过程

开始访问

(1)下面我以自己的网站,配置我的个人网站 SSL 证书,将我的网站升级为SSL。

我访问自己网站下的一张图片( http://www.zyqok.cn/fj.jpg ),这是一个 http 访问。

(2)然后我们改为 https 访问,发现是访问不了的。

下面我们正式开始,将网站改为 https 的请求访问。

服务器安装Nginx

首先,我们需要在服务器上安装 Nginx 环境,如果你服务器已经有Nginx了,那么这一步可以跳过,如果未安装Nginx,不妨参照

获取 SSL 证书

由于我服务器是阿里云买的,所以阿里会送几个免费的SSL证书,下面以阿里云的获取 SSL 证书过程进行说明。
如果你不是阿里云客户,那么这一步可以跳过,然后自行百度 “SSL证书” 到相关厂商购买,或者百度 “免费SSL证书” 。

(1)登录阿里云,然后找到 【SSL证书】一栏,点击( 因为我已经开通过了该功能,所以你的位置可能和我的位置不一样,自己去面板找 )。

(2)来到这个面板后,点击【购买证书】。

(3)选择免费型,然后购买

(4)当你完成购买后,就会在页面出现一条对应记录,然后点击【证书申请】。

(5)然后写好你需要升级的域名,比如我要把我的个人网站 http://www.zyqok.cn 升级为 https://www.zyqok.cn
那么此时的域名就填 zyqok.cn,然后填写好其他信息,点击下一步,然后这个证书就会向上面提交,进入审核状态。

(6)当你的申请通过之后,你就可以下载你的SSL证书了,我们点击右下角【下载】

(7)继续选择 Nginx 后面的【下载】

(8)下载完成后,我们就可以得到一个SSL证书的压缩包

上传SSL证书到服务器

(1)我们先将证书压缩包解压,然后可以得到如下两个文件。

(2)我们将这两个文件通过 FTP 工具,上传到服务器上,并放在 Nginx 配置文件所在的同级目录下。

修改配置并重启

(1)打开你的 Nginx.conf 配置文件,然后将你的443和80端口的 server 信息配置如下:
更多详细步骤可以查看阿里云的文档:Nginx/Tengine服务器安装SSL证书

# 直接访问 https
 server
 {
  	charset utf8;
	listen 443;
	root /opt/local;
	server_name www.zyqok.cn;
	ssl on;
	ssl_certificate 3067072_zyqok.cn.pem;
	ssl_certificate_key 3067072_zyqok.cn.key;
	ssl_session_timeout 5m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_prefer_server_ciphers on;

 }

 # http 跳转 https
 server
 {
    listen 80;
	server_name zyqok.cn;
	rewrite ^/(.*) https://www.zyqok.cn permanent;
 }

(2)注意蓝色方框的内容是你的域名和 SSL 证书相关文件。

(3)然后重启你的 Nginx 服务

进入nginx 的 sbin 目录下,输入下面命令,重启 nginx 服务

./nginx -s reload

(4)如果是阿里云的服务器,别忘了开放 80 端口和 443 端口,不然访问不了

不会配置的可以参考这篇文章:阿里云安全规则配置

再次访问

(1)直接 https 进行访问(443端口),可以看到是OK的

(2)然后 http 访问(80端口),他会自动跳转到 https,也是OK的。

至此,你已经学会了 SSL 证书配置!谢谢阅读!

(0)

相关推荐

  • 微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)

    微信小程序Server环境配置详解 主要内容: 1. SSL免费证书申请步骤 2. Nginx HTTPS 配置 3. TLS 1.2 升级过程 微信小程序要求使用 https 发送请求,那么Web服务器就要配置成支持 https,需要先申请SSL证书 小程序也要求 TLS(传输层安全协议)的版本至少为 1.2,在配置好 https之后,如果 TLS 的版本较低,就涉及到升级问题 所以 Server端环境配置的主要步骤: 申请 SSL 证书 配置web服务器支持https(我使用的是nginx)

  • Nginx下升级https的方法步骤

    购买证书 可以去阿里云的云盾证书服务购买 下载证书 在证书控制台下载 Nginx 版本证书.下载到本地的压缩文件包解压后包含: .pem 文件:证书文件 .key 文件:证书的私钥文件(申请证书时如果没有选择 自动创建CSR ,则没有该文件) 配置Nginx 1.在 Nginx 的安装目录下创建 cert 目录,并且将下载的全部文件拷贝到 cert 目录中,如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到 cert 目录下. 2.打开 Nginx 安装目录下 conf 目录中的 ng

  • Nginx http升级到https的完整步骤

    http和https的区别是 有的网站,http打开的时候,页面提示不安全,比如你点击下面的网站 [其实是同一个网站] http://www.511easy.com/bug/login http://www.88bugs.com/bug/login 怎样才能去掉这个不安全的提示呢? 从http升级到https呗 最终效果看一下: 如果目前有一个网站,要怎么升级为https呢 域名: 511easy.com 有域名了就可以申请免费的ssl证书,如下截图,基于各个Web服务器的证书,我这边用的是Ng

  • Nginx 域名SSL证书配置(网站 http 升级为 https)

    前言 HTTP 和 HTTPS 我们日常生活中,常见的网址大致分为2种: 一种是基于 http 协议,如:http://www.baidu.com 一种是基于 https 协议,如:https://www.baidu.com 现在很多网站出于安全的考虑,会把网站的域名访问从 http 已经升级为 https,如果你不知道 http 和 https 的概念,不妨先看看下面这篇文章:HTTP和HTTPS有什么不同 SSL 证书 那么我们如何将 http 升级为 https 呢? 我们要升级 http

  • 腾讯云申请免费ssl证书配置tomcat使http变https

    买了腾讯云服务器,想在自己的网站前面加上https,步骤就三步: 1.在腾讯云找到ssl证书申请(苦逼程序员就申请免费的吧) [1]登录进腾讯云找到ssl证书申请 [2]点击申请证书,苦逼就申请免费的吧,任性点的可以考虑购买... [3]填写相关的信息,并进行邮箱验证 通用名称--你自己的域名 申请邮箱--用于验证的 证书备注名--自定义随便取个吧 私钥密码--可填可不填(楼主填了) 所属项目--都是默认项目 ps:填完之后下一步,有三个选项,如果你的域名已经绑定了服务器,就选择自动,否则选择手

  • Nginx服务器的SSL证书配置以及对SSL的反向代理配置

    Nginx的SSL证书配置 1.使用openssl实现证书中心 由于是使用openssl架设私有证书中心,因此要保证以下字段在证书中心的证书.服务端证书.客户端证书中都相同 Country Name State or Province Name Locality Name Organization Name Organizational Unit Name Country Name State or Province Name Locality Name Organization Name Or

  • Linux Nginx下SSL证书安装方法及WordPress CDN配置

    一.Nginx安装SSL证书 需要两个配置文件 (温馨提示:安装证书前请先备份您需要修改的服务器配置文件) 1_root_bundle.crt: 2_domainname.com.key. 注:这三个证书文件都在文件夹for Nginx.zip中,例:1_root_bundle.crt是根证书链(公钥),2_ domainname.com.key为私钥. (其中:证书公钥.私钥文件一般以您的域名命名:证书后缀名crt和cer的性质是一样的). 二.Nginx证书代码修改 1.打开Nginx安装目

  • Nginx下SSL证书安装部署步骤介绍

    目录 问题描述: 安装步骤 1.准备工作 2.远程连接服务器 3.拷贝证书和私钥文件 4.编辑 Nginx 根目录下的 conf/nginx.conf 文件 5.在 Nginx 根目录下,通过执行以下命令验证配置文件问题 6.重启 Nginx,访问网站 问题描述: 小编遇到https协议过期了,于是重新申请,在Nginx服务器部署SSL证书 安装步骤 1.准备工作 在 SSL 证书管理控制台 中下载并解压缩 cloud.tencent.com 证书文件包到本地目录. 解压缩后,可获得相关类型的证

  • IOS开发 支持https请求以及ssl证书配置详解

    IOS开发 支持https请求以及ssl证书配置详解 前言: 众所周知,苹果有言,从2017年开始,将屏蔽http的资源,强推https 楼主正好近日将http转为https,给还没动手的朋友分享一二 一.证书准备 1.证书转换 在服务器人员,给你发送的crt证书后,进到证书路径,执行下面语句 // openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der 这样你就可以得到cer类型的证书了.双击,导入电脑. 2.证书放入工程 1.可以直接把转换好

  • windows apache环境下部署SSL证书让网站支持https的配置方法

    关于SSL证书的用处就不讲啦,需要部署的朋友应该已经了解过了,直接进入正题 安装Apache, 下载安装Apache时请下载带有SSL版本的Apache安装程序. 第一步当然是获取证书啦 我是在腾讯云上申请的,很快几分钟就搞定了. 域名验证通过后下载证书就行了 1_root_bundle.crt (证书链文件) 2_www.domain.com_cert.crt(证书文件) 3_www.domain.com.key(私钥文件) 把证书放到环境下  我是放在apache/cert下的  cert这

  • nginx使用ssl模块配置支持HTTPS访问的方法

    默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数. 需求: 做一个网站域名为 www.localhost.cn 要求通过https://www.localhost.cn进行访问. 10.10.100.8 www.localhost.cn 实验步骤: 1.首先确保机器上安装了openssl和openssl-devel #yum install openssl #yum install openssl-devel 2.创建服务

  • 详解nginx使用ssl模块配置支持HTTPS访问

    背景: 项目开发中用到了微信小程序,但是服务器配置URL必须是HTTPS,所以需要通过配置nginx的SSL模块来支持HTTPS访问,也就是说,要做一个网站域名为 dmsdbj.com 要求通过HTTPS://dmsdbj.com进行访问. SSL英文名为Secure Socket Layer,安全套接字层.SSL是一种数字证书,它使用ssl协议在浏览器和web server之间建立一条安全通道,数据信息在client与server之间的安全传输. 本篇博客是对这个操作步骤的详解. 前提: 1.

  • 详解nginx使用ssl模块配置HTTPS支持

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

随机推荐