什么是https?

https 全称:Hyper Text Transfer Protocol over Secure Socket Layer,是http的安全版。即http下加入SSL协议层,因此https的安全基础就是SSL,所以加密内容需要SSL。

配置过程

首先需要申请一个证书,可以申请一个免费的。

如何申请

我是用的腾讯云,云产品-》域名与网站-》SSL证书管理

然后选免费版的,一般免费版有效期是一年,然后填各种信息,提交审核就好了,审核很快的,一个小时工作时间左右吧

审核成功后就可以在证书列表里下载证书了,下载出来是一个压缩包,里面有各种版本的证书:Apache、IIS、Nginx、Tomcat;

我们这里用到的是nginx版本证书,一个公钥,一个私钥。将其上传到服务器目录,我是传到了 /etc/pki/nginx 目录下,记住这个目录哦,待会配置的时候会用到

先确认nginx安装时已编译http_ssl模块,也就是执行 nginx -V 命令查看是否存在--with-http_ssl_module。一般都会有的,如果没有,则需要重新编译nginx将该模块加入。

修改Nginx配置

打开 Nginx 的默认配置文件 /etc/nginx/nginx.conf ,如何打开和编辑请参考上一篇文章《云服务器搭建 Nginx 静态网站

打开后有两个server配置对象

第一个是监听80端口的,内容请参考如下伪代码:

server {
listen 80;
server_name 你的域名 www.你的域名;
root /data/www(你nginx配置的静态资源目录); # Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf; # 将http强制转https
location / {
rewrite (.*) https://www.你的域名$1 permanent;
} error_page 404 /404.html;
location = /40x.html {
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

第二个是监听443端口的,默认是注释的,先取消注释,内容参考如下:

server {
listen ssl http2 default_server;
listen [::]: ssl http2 default_server;
server_name 你的域名 www.你的域名;
root /data/www(你nginx配置的静态资源目录);
    ssl_certificate "/etc/pki/nginx/1_www.dingjianjun.cn_bundle.crt"(你刚才传到服务器上的证书地址,叫你记住的哦);
    ssl_certificate_key "/etc/pki/nginx/2_www.dingjianjun.cn.key"(你刚才传到服务器上的证书地址);
    ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m;
    ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on;
    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;
    location / {     }
    error_page 404 /404.html;
    location = /40x.html {     }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {     }
  }

重启nginx

nginx -s reload

顺利的话,你用浏览器访问你的域名,应该就能自动变成https了,就不用看下面的了

----------------------------------------分割线-----------------------------------------------

我自己遇到过一个问题,就是重启失败吧,好像是80端口被占用了

列出监听的TCP端口

netstat -ltunp

我是把这个冲突的进程杀死了,可以杀死指定PID的进程,比如我上面那个进程的PID是17220

kill 

然后再重启nginx:

nginx -s reload

到这里应该就可以了,自己多实践多调研吧,每个人情况可能不一样,希望对你有帮助!

 

nginx启用https访问的更多相关文章

  1. Nginx 启用 https

    在nginx.conf中增加新server配置 server { listen ; server_name www.some.com; ssl on; ssl_certificate sslkey/s ...

  2. nginx配置https访问

    一.准备 环境:centos6.8 nginx:1.13.6 二.开始       首先安装依赖包: yum install -y gcc gcc-c++ autoconf automake make ...

  3. Tomcat 下启用 https:// 访问

    步骤: 1 创建 .keystore 文件 JDK中自带了keytool工具用于生成证书文件 keytool工具在$JAVA_HOME/bin 目录下可以使用命令 keytool -genkey -a ...

  4. 阿里云 rails nginx 配置https访问

    1.申请免费型dv ssl证书:https://common-buy.aliyun.com/?spm=a2c4e.11155515.0.0.7zzvOZ&commodityCode=cas#/ ...

  5. nginx 支持https访问

    1,先确认nginx安装时已编译http_ssl模块. 就是执行nginx -V命令查看是否存在--with-http_ssl_module.如果没有,则需要重新编译nginx将该模块加入.yum安装 ...

  6. windows nginx配置https访问

    本文主要记录在windows下安装nginx 环境:win10-64位. 1.  到nginx官网上下载相应的安装包,http://nginx.org/en/download.html: 下载进行解压 ...

  7. nginx配置ssl证书实现https访问

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的 ...

  8. 阿里云 nginx配置ssl证书实现https访问

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的 ...

  9. [转帖]nginx配置ssl证书实现https访问

    https://www.cnblogs.com/tianhei/p/7726505.html 今天就是如此处理的 感觉挺不错的. 一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址 ...

随机推荐

  1. 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统

    用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana ...

  2. java 链接server上的 mongodb 出现 connect time out 问题

    异常信息 十二月 22, 2014 5:27:58 下午 com.mongodb.DBTCPConnector initDirectConnection 警告: Exception executing ...

  3. 41.Node.js使用cnpm

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html npm是Node.js中维护第三方库.模块的工具,但是国外的速度很悲剧,这里有一个中国的源cn ...

  4. deep-in-es6(五)

    解构 Destructuring: 解构赋值允许使用类似数组或对象字面量的语法将数组和对象的属性赋值给给中变量. 一般情况访问数组中的前三个元素: var first = arr[0]; var se ...

  5. python3 时间处理

    1 标记当前时间 import datetime from dateutil import tz #标记当前时间为中国时间 注意(replace 只有标记的意思没有转化的意思) datetime.da ...

  6. 00081_List接口

    1.List接口介绍 (1)有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元 ...

  7. JavaScript入门:003—JS中的变量

    编程语言都是同样的,JS中也是有变量的.首先JS的变量是区分大写和小写的,这个须要注意.比方number和Number是不同的变量.无论是经常使用类型的,还是对象类型,比方 Object obj和Ob ...

  8. worktools-git 工具的使用总结(2)

    1.创建分支 git branch son parent //创建分支,是在master 分支的基础上创建 :~/myGit$ git st # On branch master nothing to ...

  9. SGU 253 Theodore Roosevelt 快速判断点是否在凸包内

    http://acm.sgu.ru/problem.php?contest=0&problem=253 题意简单易懂...给你n个点的凸包(经测试已经是极角序)...判断m个点是否在凸包内.. ...

  10. BZOJ4025: 二分图(LCT)

    Description 神犇有一个n个节点的图.因为神犇是神犇,所以在T时间内一些边会出现后消失.神犇要求出每一时间段内这个图是否是二分图.这么简单的问题神犇当然会做了,于是他想考考你. Input ...