生成ssl证书:

  1、首先要生成服务器端的私钥,运行时会提示输入密码,此密码用于加密key文件;

    openssl genrsa -des3 -out server.key 1024

  2、去除key文件口令的命令;

    openssl rsa -in server.key -out server.key

  3、生成根证书签发申请文件(csr文件)

    使用上一步生成的私钥(pem文件),生成证书请求文件(csr文件)

    openssl req -new -key server.key -out server.csr

  4、生成nginx端私钥

    openssl rsa -in server.key -out server_nopwd.key

  5、使用OpenSSL对该证书进行自签发,生成有效期10年的CA证书

    openssl x509 -req -days 3650 -in server.csr -signkey server_nopwd.key -out server.crt

  6、将server.crt证书添加浏览器受信任

    google浏览器为例:

      1.进入google浏览器设置;

      2、选择显示高级设置;

        

      3、点击HTTPS/SSL下的“管理证书...”

        

      4、选择“导入”

        

      4、点击“下一步”

        

       5、点击“浏览”,选择刚刚生成的证书(server.crt),点击“下一步”

        

      6、点击“浏览”,选择“受信任的根证书颁发机构”,点击“下一步”

        

      7、点击“完成”,完成证书导入。

        

Nginx配置:

  server{
   #比起默认的80 使用了443 默认 是ssl方式  多出default之后的ssl
        listen 443 default ssl;
   #default 可省略
   #开启  如果把ssl on;这行去掉,ssl写在443端口后面。这样http和https的链接都可以用
      ssl on;
   #证书(公钥.发送到客户端的)
   ssl_certificate ssl/server.crt;
   #私钥,
   ssl_certificate_key ssl/server.key;
   #下面是绑定域名
   server_name www.daj.com;
   location / {
    #禁止跳转
    proxy_redirect off;
    #代理淘宝
    proxy_pass https://IP:PORT/;  
        }        
}

开启Nginx的ssl模块:

  1、the "ssl" parameter requires ngx_http_ssl_module  in /usr/local/nginx/conf/nginx.conf:37

    原因是nginx缺少http_ssl_module模块,编译安装时带上--with-http_ssl_module配置就可以了
  2、如果已经安装过nginx,想要添加模块看下面
    1)切换到nginx源码包
      cd /usr/local/src/nginx-1.11.3
    2)查看ngixn原有的模块
      /usr/local/nginx/sbin/nginx -V
    3)重新配置
      ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    4)重新编译,不需要make  install安装。否则会覆盖
      make
    5)备份原有已经安装好的nginx
      cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
    6)将刚刚编译好的nginx覆盖掉原来的nginx(ngixn必须停止)
      cp ./objs/nginx /usr/local/nginx/sbin/ 
      这时,会提示是否覆盖,请输入yes,直接回车默认不覆盖
    7)启动nginx,查看nginx模块,发现已经添加
      /usr/local/nginx/sbin/nginx -V

nginx配置https转发http的更多相关文章

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

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

  2. Nginx 配置Https转发http、 websocket

    系统启动Nginx后,报 [emerg] bind() to 0.0.0.0:XXXX failed (13: Permission denied)错误的处理方式,分为两种: 第一种:端口小于1024 ...

  3. nginx配置https转发的一个例子

    server { listen ; #https默认端口不是80,而是443 server_name www.test.com; ssl on; ssl_certificate cert/.pem; ...

  4. Nginx 配置 HTTPS(多域名)

    平常开发要求比较低, 依然在用 HTTP, 但到了微信小程序就不行了, 腾讯和苹果都对 API 提出了 HTTPS 的要求. 尤其是苹果, 不仅要求 HTTPS, 还要求 TLS 协议版本要在 1.2 ...

  5. Nginx配置Https

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

  6. Nginx配置proxy_pass转发的/路径问题

    Nginx配置proxy_pass转发的/路径问题 在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则 ...

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

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

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

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

  9. Nginx 配置https 服务

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

随机推荐

  1. Json 数组传值

    1. var _content = {}; _content[_title] = _oldValue + ' -- > ' + statusVal; 2. var eventData = { T ...

  2. keras神经网络做简单的回归问题

    咸鱼了半个多月了,要干点正经事了. 最近在帮老师用神经网络做多变量非线性的回归问题,没有什么心得,但是也要写个博文当个日记. 该回归问题是四个输入,一个输出.自己并不清楚这几个变量有什么关系,因为是跟 ...

  3. 20175212童皓桢 《Java程序设计》第一周学习

    学号 20175212-2 <Java程序设计>第1周学习总结 教材学习内容总结 1.安装了virtualbox 并配置了推荐的Ubuntu虚拟机 2.在Linux下通过shell,安装了 ...

  4. 八大排序算法——堆排序(动图演示 思路分析 实例代码java 复杂度分析)

    一.动图演示 二.思路分析 先来了解下堆的相关概念:堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆:或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆.如 ...

  5. Mysql生产指定时间段随机日期函数

    UPDATE basicsale_b2b2c.basic_customer SET registerDate = ( from_unixtime( unix_timestamp('2017-01-01 ...

  6. mpvue学习笔记(二)

    六.mpvue入门 http://mpvue.com/ 1.安装 $ vue init mpvue/mpvue-quickstart my-project$ cd my-project$ npm in ...

  7. java第六次课后作业

    class Check{ public boolean validate(String name, String password){ if(name.equals("shenhaochen ...

  8. HDU2138(Miller-Rabin素数检测)

    最近在看RSA,找到一个一个大素数是好多加密算法的关键一步,而大素数无法直接构造,一般情况下都是生成一个随机数然后判断是不是素数.判断是否是素数的方法有好多,有的能够准确判断,比如可以直接因式分解(R ...

  9. python中的内置函数getattr()介绍及示例

    在python的官方文档中:getattr()的解释如下: ? 1 2 3 getattr(object, name[, default])   Return the value of the nam ...

  10. SASS学习笔记!(持续学习中..)

    工具  : koala 学习网址 : http://www.w3cplus.com/sassguide/syntax.html  http://sass-lang.com/documentation/ ...