生成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. springcloud-hystrix断路器对微服务的容错处理

    使用Hystrix实现微服务的容错处理 1.实现容错的手段 如果服务提供者响应的速度特别慢,那么消费者对提供者的请求就会强制等待,直到提供者响应或者超时.在高负载的情况下,如果不做任何处理,此类问题可 ...

  2. 洛谷P3627[APOI2009] (讨厌的)抢掠计划

    题目描述 Siruseri 城中的道路都是单向的.不同的道路由路口连接.按照法律的规定, 在每个路口都设立了一个 Siruseri 银行的 ATM 取款机.令人奇怪的是,Siruseri 的酒吧也都设 ...

  3. Linux中文件夹访问权限不足

    经常操作Linux服务器,远程访问会遇到403问题,本篇讲述nginx下文件权限的修改. 1.命令修改该文件夹的权限 chmod -R 755 /usr/local/....   文件夹的路径 2.修 ...

  4. python -- 小数据池 is和 == 再谈编码

    1.小数据池 python程序是由代码块构成的,一个代码块的文本作为python程序的执行单元. 代码块:一个模块,一个函数,一个类,甚至一个command命令都是一个代码块,一个文件也是一个代码块, ...

  5. input radio单选框绑定change事件

    html页面: <input type="radio" name="sex" value="female">female < ...

  6. js的事件流事件机制

    (1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发. IE 5.5: div -> body -> document IE 6.0: div ...

  7. java字符串截取指定下标位置的字符串

    public class A { public static void main(String[] args) { //定义的字符串 String s = "Hello World" ...

  8. JQuery案例二:实现全选、全不选和反选

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. MyBatis工具类

    package cn.word.util; import java.io.IOException;import java.io.InputStream;import java.util.Enumera ...

  10. 1 实现添加功能 1.1 定义一个学员类(Student),在Student类中定义姓名、性别和年龄属性,定义有 参数的构造方法来初始化所以的成员属性 1.2 创建学员类对象来存放学员信息,并且为每一个学生对象添加的相应的编号。并将 学员类对象添加到Map<Integer,Student>集合中 1.3 添加完成后,显示所有已添加的学员姓名 1.4 限制年龄文本框只能输入正整数,否则的会采

    学生类 package com.lanxi.demo1_3; public class Student { private String name; private String sex; priva ...