背景

开发微信小程序,需要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. Day10-微信小程序实战-交友小程序-添加好友功能之创建并更新message信息

    1.首先要在 添加好友 这个按钮上添加一个事件,也就是在detail.wxml的添加好友这个按钮的哪里,添加一个点击事件 handleAddFriend 并且添加好友还要考虑,现在是已登陆状态还是未登 ...

  2. 慕课网--java权限管理系统

    http://coding.imooc.com/class/evaluation/149.html

  3. Python3-random模块-生成伪随机数

    Python3中的random模块可以生成一个伪随机数 常用的就三个模块函数 random.random() 返回0-1之间的一个随机数 random.randrange(i, j) 返回一个随机数 ...

  4. 入门大数据---Scala学习

    Scala是什么? Scala是一种基于函数式编程和面向对象的高级语言.它开发了Spark等大型应用.它和Java有效集成,底层也是支持JVM的. 它有六大特性: 无缝JAVA互操作 Scala在JV ...

  5. web安全之跨站脚本漏洞(XSS)

    XSS(跨站脚本)概述以及pikachu上的实验操作 Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS. XSS ...

  6. Flask项目实战:创建电影网站(3)后台的增删改查

    添加预告 根据需求数据库创建表格 需求数据库,关键字title logo # 上映预告 class Preview(db.Model): __tablename__ = "preview&q ...

  7. WTL中GDI+支持资源文件加载

    WTL中GDI+支持资源文件加载 分类: WTL WTL gdi+ gdi+2013-04-22 17:16 78人阅读 评论(0) 收藏 举报 WTLGDI+c++ 今天遇到一个小问题困扰了.就是G ...

  8. Docker文件系统实战

    关键词:Docker 联合文件系统 镜像 容器 云信私有化 在本文中,我们来实战构建一个Docker镜像,然后实例化容器,在Docker的生命周期中详细分析一下Docker的文件存储情况和Docker ...

  9. web前端达到什么水平,才能找到工作?

    前端都需要学什么(可以分为八个阶段)<1>第一阶段: HTML+CSS:HTML进阶. CSS进阶.DIV+CSS布局.HTML+CSS整站开发. JavaScript基础:Js基础教程. ...

  10. 聊聊Java中的异常及处理

    前言 在编程中异常报错是不可避免的.特别是在学习某个语言初期,看到异常报错就抓耳挠腮,常常开玩笑说编程1分钟,改bug1小时.今天就让我们来看看什么是异常和怎么合理的处理异常吧! 异常与error介绍 ...