配置http和tcp支持ssl

配置http和tcp支持ssl,第1张

最近由于apple ATS的关系,公司的所有后台都需要采用安全连接;后台对外的接口主要包括两种形式:

对外服务都是通过nginx进行访问,目前采用的是客户端单向认证服务端,因此只要在nginx进行配置即可:

另外为了提高nginx ssl的性能,可以增加额外的配置项,例如 ssl_session_cache

证书和私钥都是PEM格式(文本),如果是自签名的,可以通过如下方式产生:

由于客户端需要验证服务端,因此需要将证书分发给客户端:

注:ios需要二进制格式的证书,因此需要转换下

注:ios需要BKS格式的证书,和java端的JKS类似,因此需要转换下

tcp是通过haproxy进行配置:

可以通过如下方式产生:

注:server.pem格式为PEM,由证书和私钥组成,服务器发送客户端只会发送证书;实际上nginx也可以把证书和私钥放在一个文件

安装配置好之后,可以通过nmap提供的工具查看服务端的证书和协议版本,算法套装等信息,下图以百度为例:

**注意:nmap提高的脚本,对端口进行了限制,因此如果你的应用的访问端口不是443,需要修改脚本,通常情况下,脚本位于 /usr/share/nmap/scripts ,

Java对SSL,TLS的支持情况,可以参考这篇 文章 ,为避免出现类似情况,需要通过 ssl_ciphers 指令进行相关配置;

另外由于openssl会用到随机数,可以参考这篇 文章 进行配置

1. 配置https服务器

2. haproxy ssl配置

3. Setting up SSL termination for a TCP upstream

4. Netty ssl

5. Ios9之适配ATS

域名只要上线访问,就需要备案的,如果不备案80端口是要封掉的,不过ssl证书https加密使用443端口,如果你不开放80端口,仅仅使用443端口,好像不备案也可以。推荐一款免费SSL证书,挺好用的,申请地址网页链接

使用Stunnel软件。在服务器上安装Stunnel软件,配置成Server模式,在PC上也安装Stunnel软件,配置成Client模式,本地软件TCP连接Stunnel Client,Stunnel Client和Stunnel Server加密传输,Stunnel Server连接服务器原有的TCP。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11346815.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存