生成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. 【IDEA填坑】springboot整合ssm框架

    遇到俩问题:一个是mybatis生疏  在EmpMapper.xml中定义resultMap <resultMap id="EmpWithDept" type="c ...

  2. call apply bind的区别

    都是天生自带的内置方法(Function.prototype),所有的函数都可以调取这三个方法,改变this指向 call 语法:fn.call(context,para1......) 把fn方法执 ...

  3. springBoot 随笔(二)

    此文为springBoot 结合 thymeleaf ,解析后台接口数据展示到html页面 基于 springBoot(一)工程. 1/ 引用 thymeleaf 组件依赖 <!-- depen ...

  4. 1-TwoSum(简单)

    Description: Given an array of integers, return indices of the two numbers such that they add up to ...

  5. linux常用命令 awk命令

    awk命令 awk [选项] '条件1{动作1} 条件2{动作2}...' 文件名 条件(Pattern) *) 一般使用关系表达式作为条件 *) x>10 判断变量x是否大于10 *) x&g ...

  6. python简介和python工具的选择

    Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有 ...

  7. 假如有Thread1、Thread2、Thread3、Thread4四条线程分别统计C、D、E、F四个盘的大小

    假如有Thread1.Thread2.Thread3.Thread4四条线程分别统计C.D.E.F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现? 实现1:用concur ...

  8. python 统计单词个数,并按个数与字母排序

    # coding: utf-8 # In[1]: import collections str = "Be slow to promise and quick to perform" ...

  9. ubuntu16.04安装pycharm

    Ubuntu16.04下,默认安装了python2.7和python3.5,在终端下,输入“Python”  或“python3”可查看具体版本. 1.安装PyCharm前,先配置PyCharm的JD ...

  10. Exception、Thorow、Throws、TryCatch

    一.异常 概述: 异常指的是不正常,指的是程序中出现了某种问题 java中,所有问题都可以使用一个类来表示,这个类叫做Throwable Throwable: Throwawble是java中所有异常 ...