前言

本文是对Nginx配置SSL证书的总结。

申请SSL证书

你可以从任何证书提供商处申请证书,这里以阿里云为例。

打开阿里云SSL证书控制台,点击购买证书

选择免费型一年期的证书,点击立即购买

注意,1年到期后别忘记重新申请证书!

支付

放心大胆的支付吧,不用钱!

验证SSL证书

购买完成之后,返回SSL证书控制台,你应该会看到刚才购买的证书。我们点击申请

填写域名(必须是你自己的或者有管理权的域名)和相关信息,完成后点击下一步。

注意,免费型证书只支持单个域名!例如你要为www.example.com申请证书,你必须填写www.example.com,而不能是example.com。

在DNS服务商处配置阿里云提供的验证信息。

例如DNSPod,填写主机记录,记录值和记录类型,然后点击保存。

耐心等待TTL刷新(一般为10分钟,也可能花不了10分钟)。

回到阿里云SSL证书申请页面,点击验证。

签发域名

验证通过后,证书提供商将会为你的域名颁发证书。在阿里云SSL证书控制台的已签发列表下可以找到你的域名对应的SSL证书。

下载证书

下载Nginx对应的SSL证书xx_nginx.zip,准备配置Nginx。

配置Nginx

如果你还没有安装Nginx,可以参考部署Nginx

上传证书

$ sudo mkdir /etc/nginx/certs
$ sudo cd /etc/nginx/certs
## 上传你的证书至此目录
$ sudo ls -l
drwxr-xr-x 2 root root 4096 Jul 24 17:15 ./
drwxr-xr-x 7 root root 4096 Jul 24 17:15 ../
-rw-r--r-- 1 root root 4053 Jul 24 16:49 xx_nginx.zip
$ sudo unzip xx_nginx.zip
$ sudo ls -l
-rw-r--r-- 1 root root 1679 Jul 24 16:48 xx.key ## ssl cert key
-rw-r--r-- 1 root root 3667 Jul 24 16:48 xx.pem ## ssl cert

一切准备就绪后,可以开始修改我们的Nginx配置文件了。

修改Nginx配置文件

将Http修改为Https非常简单,只需要修改一处内容,并添加若干代码。

  1. listen 80;修改为listen 443;
  2. server块中添加以下代码
ssl on;

ssl_certificate certs/xx.pem;
ssl_certificate_key certs/xx.key;
ssl_session_timeout 5m;

修改完成后,重启Nginx

$ sudo service nginx reload
$ sudo service nginx restart

好了,使用Https访问你的网站吧。

Http强制转向Https

注意,以上修改完成后,只能使用Https访问了,但是往往我们不希望用户使用Http访问的时候出现404的情况。那么,我们可以简单的将80端口的用户转发到443端口,来达到Http和Https共存的状态。

在Nginx配置文件中添加

server {
listen 80;
server_name xx.xx.com; return 301 https://$server_name$request_uri;
}

重启Nginx

Nginx配置Https指南的更多相关文章

  1. Nginx配置Https

    1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...

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

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...

  3. nginx配置https双向验证(ca机构证书+自签证书)

    nginx配置https双向验证 服务端验证(ca机构证书) 客户端验证(服务器自签证书) 本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件 这两个文件用于做服务器http ...

  4. Nginx 配置https 服务

    一.HTTPS 服务 为什么需要HTTPS? 原因:HTTP不安全 1.传输数据被中间人盗用.信息泄露 2.数据内容劫持.篡改 HTTPS协议的实现 对传输内容进行加密以及身份验证 HTTPS加密校验 ...

  5. nginx配置https转发到tomcat(使用自签名的证书)

    一.使用openSSL生成自签名的证书 1.生成RSA私钥 命令:openssl genrsa -des3 -out server.key 1024 说明:生成rsa私钥,des3算法,1024强度, ...

  6. RedHat 6.6下安装nginx,配置HTTPS

    1.安装依赖包 yum -y install pcre-devel openssl-devel zlib-devel 2.下载nginx安装包到服务器上,当前使用版本nginx-1.15.5.tar. ...

  7. nginx 配置https并自签名证书

    2016-10-28 转载请注明出处:http://daodaoliang.com/ 作者: daodaoliang 版本: V1.0.1 邮箱: daodaoliang@yeah.net 参考链接: ...

  8. [记录]NGINX配置HTTPS性能优化方案一则

    NGINX配置HTTPS性能优化方案一则: 1)HSTS的合理使用 2)会话恢复的合理使用 3)Ocsp stapling的合理使用 4)TLS协议的合理配置 5)False Start的合理使用 6 ...

  9. 购买https证书以及nginx配置https

    文章来源 运维公会:购买https证书以及nginx配置https 1.https的作用 https的全名是安全超文本传输协议,是在http的基础上增加了ssl加密协议.在信息传输的过程中,信息有可能 ...

随机推荐

  1. drf路由分发、解析/渲染模块配置、使用admin、自动序列化配置

    目录 drf路由分发配置 解析模块配置 渲染模块配置 浏览器渲染打开 浏览器渲染关闭 结论 drf使用后台admin drf序列化模块 serializers.py: views.py:单查群查 测试 ...

  2. OSPF理论

    OSPF简介 OSPF(Open Shortest Path First 开放式最短路径优先)协议是IETF为IP网络开发的IGP路由选择协议.它是一种典型的链路状态(link-state)路由协议. ...

  3. [Python]获取字典所有值

    方法一:Key Value 直接获取 databases = {1: 'Student', 2: 'School'} for k,v in databases.items(): print(k,v) ...

  4. 杭电-------2032杨辉三角(C语言写)

    #include<stdio.h> ][] = { }; void init() { int i, j; ; i < ; i++) { a[i][] = ; a[i][i] = ; ...

  5. Docker Compose搭建Redis一主二从三哨兵高可用集群

    一.Docker Compose介绍 https://docs.docker.com/compose/ Docker官方的网站是这样介绍Docker Compose的: Compose是用于定义和运行 ...

  6. Flutter Widgets 之 FutureBuilder

    注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 展示异步任务状态 当有一个Future(异步)任务需要展示 ...

  7. JavaScript——event事件详解

    1.事件对象 Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 什么时候会产生Event 对象呢? 例如: 当用户单击某个元素的时候,我们给这个元 ...

  8. 《SQL基础教程》+ 《SQL进阶教程》 学习笔记

    写在前面:本文主要注重 SQL 的理论.主流覆盖的功能范围及其基本语法/用法.至于详细的 SQL 语法/用法,因为每家 DBMS 都有些许不同,我会在以后专门介绍某款DBMS(例如 PostgreSQ ...

  9. 干货!手把手教你使用数据可视化BI软件创建企业变更流程监控大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以企业变更流程监控大屏为例 ...

  10. django 定时任务 django-crontab 的使用

    成功例子如下图: 1.前言 在做 django 开发需求时,多多少少都会遇到需要定时任务的功能,比如定时执行任务,检查订单之类的.可能是一段时间,比如每隔 10分钟执行一次,也可能是定点时间,比如 1 ...