生成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. Python cv2库(人脸检测)

    根据访问图片识别 # coding:utf-8 import sysimport math import cv2 # 待检测的图片路径 imagepath = r'l.png' face_cascad ...

  2. .net core 2.0 webapi部署iis操作

    1.安装 .net core 2.0 runtime, (dotnet-runtime-2.0.7-win-x64.exe) https://www.microsoft.com/net/downloa ...

  3. MySQL union all排序问题

    mysql中多个查询结果排序后union之后是混乱的,可以在各个查询结果最后加limit 999999999再union,参考https://blog.csdn.net/chenyao1994/art ...

  4. C#中dll调用方法

    我不创造方法,只做方法的搬运工. https://www.cnblogs.com/Asuphy/p/4206623.html

  5. JavaScript Basic Memo

    1.this 的指向 1).由 new 调用?绑定到新创建的对象. 2). 由 call 或者 apply(或者 bind)调用?绑定到指定的对象. 3). 由上下文对象调用?绑定到那个上下文对象. ...

  6. python之路-----前端之css

    本篇内容 CSS 语法 css的四种引入方式 css选择器 css属性操作 Caution! 后台管理布局 css响应式布局 一.CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声 ...

  7. python中一些传参事情

    #一个参数的传参 def hello(a):    print(a+'王彦军你好')hello('hello')''' #2个参数的 def ab(a,b):    print(a+'你好')    ...

  8. mybatis使用接口联合查询

    一.先建立两个实体类和配置文件 配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE c ...

  9. git add.后回退 代码丢失

    记录一次操作git丢失代码的过程: 写完代码后:git staus git add. git status 发现有一堆.class 文件不想提交,想着代码回退到add 之前,使用了 git log 开 ...

  10. UnboundLocalError: local variable 'f' referenced before assignment

    参考方案链接: 1.http://blog.chinaunix.net/uid-631981-id-3766212.html 2.http://blog.sina.com.cn/s/blog_4b9e ...