博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【撸码师备忘录】Nginx+OpenSSL配置支持Http/Https请求共存
阅读量:7003 次
发布时间:2019-06-27

本文共 2143 字,大约阅读时间需要 7 分钟。

hot3.png

引言

  最近项目需要对某项目相关渠道提供api接口调用。基于数据传输过程安全性与逼格的考虑,决定接口对接支持https方式请求。

  下面简单记录一下配置过程以及过程中的Keng,备忘。

 

基础

一、什么是SSL(证书),什么是HTTPS?

  SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:

  1、数据信息在客户端和服务器之间的加密传输,保证双方传递信息的安全性,不可被第三方窃听;

  2、用户可以通过服务器证书验证他所访问的网站是否真实可靠。

  HTTPS 是以安全为目标的 HTTP 通道,即 HTTP 下加入 SSL 加密层。HTTPS 不同于 HTTP 的端口,HTTP默认端口为80,HTTPS默认端口为443。

二、参考阅读:

 

配置

  一、安装OpenSSL

  获取openssl并安装

#wget获取OpenSSL文件 wget http://www.openssl.org/source/openssl-1.0.2.tar.gz#解压文件 tar zxf openssl-1.0.2.tar.gz #编译 make #安装 make install

 

 

二、生成不被浏览器信任的SSL证书

#进入指定的自定义目录cd /data/config/mkdir certcd cert#############################################                                          ##                颁发SSL证书                ##                                          ##############################################1.生成RSA秘钥openssl genrsa -des3 -out roseone.key 1024#2.基于秘钥文件生成无需密码的秘钥文件openssl rsa -in roseone.key -out roseone_nopass.key#3.基于秘钥文件,生成ssl证书请求文件openssl req -new roseone.key -out roseone.csr#4.签发ssl证书(未经认证的证书不受浏览器信任,其功能性可以正常使用)openssl x509 -req -days 365 -in roseone.csr -signkey roseone.key -out roseone.crt

 

三、修改Nginx配置

#进入配置文件目录cd /data/config/#配置nginx.conf 或引入的文件(我本地的为在nginx.conf中import的nginx-proxy.conf)vi nginx-proxy.confserver {         listen       80;         listen       443 ssl;         server_name demo.xiaoqingdiao.net;         ssl_certificate /data/config/cert/roseone.crt;         ssl_certificate_key /data/config/cert/roseone_nopass.key;                   #...          #...  其他无关配置          #...              }#最后重启nginxnginx -s reloadservice nginx statusrunning ............

 

 

四、访问效果及温馨小提示

  因未证书为自己生成的,未经过认证。所以,证书为不受浏览器信任的证书。需要用户手动选择“继续访问”

193736_GqDF_1159856.png

继续访问效果

193658_7g8M_1159856.png

 

号外

 

温馨小提示:

 

  如果用的是阿里云负载均衡,需要先将"阿里云"负载均衡监听443端口配置开放;

193919_9Qwd_1159856.png

 

具体安装过程图示:

 

资讯: 

 

 

————————————— UPDATE ———————————————

芝麻信用数据传输应用秘钥生成

$ openssl    #进入OpenSSL 程序#生成私钥OpenSSL> genrsa -out rsa_private_key.pem 1024  #Java开发者需要将私钥转换成 PKCS8 格式OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out rsa_private_key_pkcs8.pem #生成公钥OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem # 退出 OpenSSL 程序OpenSSL> exit  

 

转载于:https://my.oschina.net/xiehongfei/blog/809240

你可能感兴趣的文章