什么是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. jQuery源码02--(3043 , 3183) Deferred : 延迟对象 : 对异步的统一管理

    //延迟对象 jQuery.extend({ Deferred: function( func ) { var tuples = [//resolve完成.reject未完成.notify进行中类似于 ...

  2. es6 -- Iterator 和 for...of 循环

    1:Iterator(遍历器)的概念 JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了Map和Set.这样就有了四种数据集合,用户还 ...

  3. asp.net大数据导出execl实现分开压缩并下载

    asp.net大数据导出execl实现分开压缩并下载 /// <summary> /// 导出数据到EXCEL 多个表的 /// </summary> /// <para ...

  4. js常用代码示例及解决跨域的几种方法

    1.阻止默认行为 // 原生js document.getElementById('btn').addEventListener('click', function (event) { event = ...

  5. ssm 框架学习-1

    理论理解 +项目阅读 SpringSpring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象.Spring的核心思想是IoC(控制反转),即 ...

  6. iOS - 系统经常使用框架(framework)的简介

    系统框架(framework)的简介 ImageIO  - 该框架的接口可用于导入或导出图像数据及图像元数据 CoreTelephony  - 获取IMSI号,SIM卡背面的号码是SIM卡的电子串号, ...

  7. Windows Server 2016 关闭Internet Explorer增强的安全配置

    Windows Server 2016 关闭Internet Explorer增强的安全配置 IE11 默认启用 Internet Explorer 增强的安全配置,浏览网页时这个提示十分频繁,是不是 ...

  8. js19--继承终极版本

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  9. 28.semaphore跨进程通信

    根据id创建Semaphore,并初始化有一个信号量可用 name类型是char *...; HANDLE hsem = CreateSemaphoreA(NULL, 1, , name); 关闭句柄 ...

  10. 带你一分钟理解闭包--js面向对象编程(转载他人)

    什么是闭包? 先看一段代码: function a(){ var n = 0; function inc() { n++; console.log(n); } inc(); inc(); } a(); ...