springboot项目第一次登陆非常慢(SecureRandom 非常慢解决办法)

1 篇文章 0 订阅

背景:

springboot项目在本地测试时用户登录就很快,在springboot项目放到服务器上使用java -jar运行后,发现第一次用户登录时,需要好长时间(3分钟以上)或者要登录好多次才能登录成功。于是查看了日志和网上查找资料。

根本原因是

在这里插入图片描述

有两种解决方案:

  1. 在Tomcat环境中解决:
    可以通过配置 JRE 使用非阻塞的 Entropy Source:
    在 catalina.sh 中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。
  2. 在 JVM 环境中解决:
    打开 $JAVA_PATH/jre/lib/security/java.security 这个文件,找到下面的内容:
securerandom.source=file:/dev/random

替换成:

securerandom.source=file:/dev/./urandom

这里值为何要在 dev 和 random 之间加一个点呢?有的认为是jdk的bug

在 JDK 的 java.security 文件里,如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值