生成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. git相关操作记录

    拉取远端并强制覆盖本地文件 有时候会出现想放弃本地修改的情况,那么只需要下面几行命令 git fetch --all git reset --hard origin/master git pull / ...

  2. python正则表达式补充

    import re origin= "hello alex bcd alex 1ge alex acd 19" r=re.match("(?P<n1>h)(? ...

  3. 关于node_js的比较

    node_js的比较是我自己初学遇到的第一个绕脑的事情. 在比较的函数多了之后,一些函数的调用和变量提升, 搞得自己头晕,有时候函数是没有返回值的,自己还在 用变量值去比较,实际上却是undefine ...

  4. GoLand配置数据库、远程host以及远程调试

    GoLand配置MySQL数据库: (1)右侧栏 -> Database -> +添加 (2)选择MySQL (3)修改Name -> Comment(可选) (4)选择MySQL版 ...

  5. mysql 关于数据库和数据表的基本操作

    -- 备注: -- .每一条mysql语句后面都需要加上半角分号 -- .可以用``符号(1键旁边的那个键)将字段名称引用起来,如`Name` -- .mysql在windows下不区分大小写,在li ...

  6. elasticsearch kabana中创建索引

    在kabana中创建索引和索引类型语法 PUT clockin{ "mappings": { "time": { } }} 查询索引下的所有数据 GET clo ...

  7. 转:LRU算法

    LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的,是根据页面调入内存后的使用情况进行决策了.由于无法预测各页面将来的使用情况,只能利用“最近 ...

  8. java生成二维码扫码网页自动登录功能

    找了很多资料,七七八八都试了一遍,最终写出来了这个功能. 菜鸟一枚,此文只为做笔记. 简单的一个生成二维码,通过网页确认登录,实现二维码页面跳转到主页面. 有三个servlet: CodeServle ...

  9. install openjdk & tomcat on the centos

    1.检查当前服务器是否已安装openjdk

  10. Android中获取文件路径的方法总结及对照

    最近在写文件存贮,Android中获取文件路径的方法比较多,所以自己也很混乱.找了好几篇博客,发现了以下的路径归纳,记录一下,以备不时之需 Environment.getDataDirectory() ...