背景

开发微信小程序,需要https域名,因此使用Nginx的SSL模块配置https

步骤

一、去域名管理商(如腾讯云、阿里云等)申请CA证书

二、在Nginx中配置,一般情况下域名管理商会提供配置文档

  1、把证书和密钥上传到服务器中(所在位置和nginx.conf配置中一致,这里我直接放在nginx.conf同一目录下)

  2、配置nginx.conf,如下所示:

  server {
    #https默认地址端口443
    listen 443 ssl;
    #域名
    server_name xx.xxx.com;
    #证书名
    ssl_certificate xxxxxx.crt;
    #密钥
    ssl_certificate_key xxxxxx.key;
    #session缓存
    ssl_session_cache shared:SSL:1m;
    #session有效期
    ssl_session_timeout 30m;
    #加密协议
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    #加密算法
    ssl_ciphers HIGH:!aNULL:!MD5;
    #服务器端选择算法
    ssl_prefer_server_ciphers on;
    #此处根据自己的系统配置
    location / {
      root html; index index.html index.htm;
    }

  }

三、重载nginx(nginx -s reload),然后访问配置的域名验证https的配置。

错误

本人nginx安装目录为:/usr/local/nginx

配置后,重载nginx报如下错误:

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/nginx.conf:371

此错误是因为nginx未安装SSL模块,需要安装配置SSL模块

通过/usr/local/nginx下的configure 配置SSL模块和其他模块信息,此处需要特别注意,这个方式不是增量添加模块的,会覆盖原来的配置的,所以需要把原来的配置也加在一起

1、通过nginx -V查看现在配置,然后关闭nginx(nginx -s stop

2、执行./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf --with-http_ssl_module,其中--with-http_ssl_module为SSL模块的配置

3、执行make命令编译

4、执行完成后会在/usr/local/nginx/objs目录下生成nginx命令

5、备份/usr/local/nginx/sbin目录下的nginx命名,然后复制objs目录下的nginx到sbin目录下(cp objs/nginx sbin/ ,如果不能复制,可以使用cp -rpf objs/nginx sbin/ 强制复制 )

6、启动nginx完成SSL模块的配置

Nginx使用SSL模块配置https的更多相关文章

  1. nginx使用ssl模块配置HTTPS支持 <转>

    默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中.通常这 ...

  2. nginx使用ssl模块配置HTTPS支持

    默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中.通常这 ...

  3. nginx使用ssl模块配置支持HTTPS访问

    默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数. 需求: 做一个网站域名为 www.localhost.cn 要求通过htt ...

  4. nginx使用ssl模块配置支持HTTPS访问【解决ssl错误】

    默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数. 需求:做一个网站域名为 www.localhost.cn 要求通过http ...

  5. nginx使用ssl模块配置支持HTTPS访问,腾讯云申请免费证书

    开始我尝试用 let's encrypt 让http 变 https 官方:https://github.com/certbot/certbot 参考:https://www.cnblogs.com/ ...

  6. Apache 使用ssl模块配置HTTPS(Centos7 httpd2.4.6)

    根据原文:http://blog.csdn.net/ithomer/article/details/50433363改编 Web服务器在默认情况下使用HTTP,这是一个纯文本的协议.正如其名称所暗示的 ...

  7. 开始Nginx的SSL模块

    nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/n ...

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

    nginx证书制作以及配置https并设置访问http自动跳转https 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖 ...

  9. 使用nginx代理后以及配置https后,如何获取真实的ip地址

    使用nginx代理后以及配置https后,如何获取真实的ip地址 Date:2018-8-27 14:15:51 使用nginx, apache等反向代理后,如果想获取请求的真实ip,要在nginx中 ...

随机推荐

  1. springboot集成jpa操作mybatis数据库

    数据库如下 CREATE TABLE `jpa`.`Untitled` ( `cust_id` bigint() NOT NULL AUTO_INCREMENT, `cust_address` var ...

  2. python的常用魔法方法详细总结

    构造和初始化 __init__我们很熟悉了,它在对象初始化的时候调用,我们一般将它理解为"构造函数". 实际上, 当我们调用x = SomeClass()的时候调用,__init_ ...

  3. Oracle的number数据类型

    https://www.cnblogs.com/oumyye/p/4448656.html NUMBER ( precision, scale) precision表示数字中的有效位;如果没有指定pr ...

  4. Vue前端压缩图片

    一.在组件包下新建compressImage.js // 压缩图片 // eslint-disable-next-line no-unused-vars export function compres ...

  5. css/html 空格,html空格符的显示、标示方式【html空格代码】

    在html里面空格的话,你直接敲打出来的空格是不可以的,下面将通过html和css中设置显示空格的实现总结: Html中空格 符号 编号 描述      不断行的空白(1个字符宽度), 不换行空格 全 ...

  6. 【板子】数论基础(持续更新ing...)

    #include<cstdio> #include<iostream> #include<cstring> #include<cmath> #inclu ...

  7. Caocao's Bridges HDU - 4738 求桥

    题目描述 Caocao was defeated by Zhuge Liang and Zhou Yu in the battle of Chibi. But he wouldn't give up. ...

  8. BZOJ1294 洛谷P2566 状态压缩DP 围豆豆

    传送门 题目描述 是不是平时在手机里玩吃豆豆游戏玩腻了呢?最近MOKIA手机上推出了一种新的围豆豆游戏,大家一起来试一试吧游戏的规则非常简单,在一个N×M的矩阵方格内分布着D颗豆子,每颗豆有不同的分值 ...

  9. scrapy爬取海量数据并保存在MongoDB和MySQL数据库中

    前言 一般我们都会将数据爬取下来保存在临时文件或者控制台直接输出,但对于超大规模数据的快速读写,高并发场景的访问,用数据库管理无疑是不二之选.首先简单描述一下MySQL和MongoDB的区别:MySQ ...

  10. ASP.NET基础温习