数据库开启ssl

数据库:阿里云rds 系统:centos

需要修改的:nacos连接+项目连接+本地navicat连接

重点:为了兼容本地和服务器,ssl证书路径由原来的绝对路径换成环境变量参数,所以有步骤4

文章目录

    • [步骤1 阿里云](#步骤1 阿里云)
    • [步骤2 navicat](#步骤2 navicat)
    • [步骤3 文件复制到服务器,打开读写权限](#步骤3 文件复制到服务器,打开读写权限)
    • [步骤4 配置环境变量](#步骤4 配置环境变量)
      • [4.1 Windows 本地电脑上配置环境变量](#4.1 Windows 本地电脑上配置环境变量)
      • [4.2 在 CentOS 服务器上配置环境变量](#4.2 在 CentOS 服务器上配置环境变量)
    • 修改nacos和项目的数据库连接

步骤1 阿里云

rds控制台,安全管理里打开ssl开关,打开强制使用密码,下载CA证书,解压拿到.pem后缀的文件

1.这里如果打开ssl失败,需要手动升级数据库小版本更新,会闪断数据库1s左右。

2.先不打开强制使用密码,可以让项目和nacos正常运行

编辑数据库连接,打开ssl选项卡,把pem文件放进【CA证书】那栏

步骤3 文件复制到服务器,打开读写权限

从堡垒机登录跳板机

------本地文件通过windterm等终端拖拽到跳板机

------跳板机scp命令复制到具体服务器

------给root用户文件夹和文件的读写权限

复制代码
[root@onvip-nginx ~]# scp /root/ApsaraDB-CA-Chain.pem root@uat.internal:/opt/mysql-ssl/
root@uat.internal's password: (这里输密码)
ApsaraDB-CA-Chain.pem                                100%  140KB  11.8MB/s   00:00   

步骤4 配置环境变量

4.1 Windows 本地电脑上配置环境变量

【我的电脑】,选择【属性】。点击【高级系统设置】

在【系统属性】窗口中,点【环境变量】按钮 点【新建系统变量】

变量名:MYSQL_SSL_CERT_PATH

变量值:具体路径

验证 echo %MYSQL_SSL_CERT_PATH%

4.2 在 CentOS 服务器上配置环境变量

复制代码
[root@xzdevlocaldomain xz-dev]# sudo vi /etc/profile

进入vi 最后一行增加:export MYSQL_SSL_CERT_PATH=/opt/mysql-ssl/ApsaraDB-CA-Chain.jks

[root@xzdevlocaldomain conf]# source /etc/profile
[root@xzdevlocaldomain conf]# echo $MYSQL_SSL_CERT_PATH
/opt/mysql-ssl/ApsaraDB-CA-Chain.jks

修改nacos和项目的数据库连接

都改application.properties文件

找nacos配置文件位置/root/nacos/conf,找到文件里面的Connect URL of DB修改链接

复制代码
[root@uat-new logs]# ps -ef | grep nacos
root        5712   1  1 Aug22 ?        08:34:53 /usr/lib/jvm/jdk-1.8-oracle-x64/bin/java -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Dnacos.member.list= -Djava.ext.dirs=/usr/lib/jvm/jdk-1.8-oracle-x64/jre/lib/ext:/usr/lib/jvm/jdk-1.8-oracle-x64/lib/ext -Xloggc:/opt/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/opt/nacos/plugins/health,/opt/nacos/plugins/cmdb -Dnacos.home=/opt/nacos -jar /opt/nacos/target/nacos-server.jar --spring.config.additional-location=file:/opt/nacos/conf/ --logging.config=/opt/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288 nacos.nacos
root     1834006 1833954  0 15:32 pts/1    00:00:00 grep --color=auto nacos
[root@uat-new logs]# cd /opt/nacos/conf
[root@xzdevlocaldomain conf]# vim application.properties
[root@xzdevlocaldomain nacos]# kill 5712
[root@xzdevlocaldomain nacos]# cd bin/
[root@xzdevlocaldomain bin]# ls
logs  nohup.out  shutdown.cmd  shutdown.sh  start-standalone  startup.cmd  startup.sh  work
[root@xzdevlocaldomain bin]# sh startup.sh -m standalone
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/bin/java  -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Dnacos.member.list= -Djava.ext.dirs=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/jre/lib/ext:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-3.el8.x86_64/lib/ext -Xloggc:/root/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/root/nacos/plugins/health,/root/nacos/plugins/cmdb -Dnacos.home=/root/nacos -jar /root/nacos/target/nacos-server.jar  --spring.config.additional-location=file:/root/nacos/conf/ --logging.config=/root/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288
nacos is starting with standalone
nacos is starting,you can check the /root/nacos/logs/start.out
命令 用法
useSSL=true 启用 SSL 连接
requireSSL=true 强制要求客户端使用 SSL
verifyServerCertificate=true 验证服务器证书
enabledTLSProtocols=TLSv1.2 指定使用的 TLS 协议版本
trustCertificateKeyStoreUrl 指定 CA 证书路径(这里把绝对路径换成了环境变量)

正常绝对路径增加以下后缀:

&useSSL=true&requireSSL=true&verifyServerCertificate=true&enabledTLSProtocols=TLSv1.2&trustCertificateKeyStoreUrl=file:///opt/mysql-ssl/ApsaraDB-CA-Chain.pem

环境变量优化版本:

&useSSL=true&requireSSL=true&verifyServerCertificate=true&enabledTLSProtocols=TLSv1.2&trustCertificateKeyStoreUrl=${MYSQL_SSL_CERT_PATH}

相关推荐
java_logo6 小时前
Docker 部署 Milvus:轻松搭建高性能向量数据库平台
数据库·docker·私有化部署·milvus·向量数据库·rag·轩辕镜像
爱学习的程序媛7 小时前
ICMP协议详解
网络·网络协议·网络安全·通信协议·icmp·网络运维
隐擎fox7 小时前
解构无感人机验证底层机制:行为生物轨迹采样、环境评分模型与自动化对抗实战
自动化测试·python·网络协议·tcp/ip·网络爬虫
A心有千千结7 小时前
GO 使用 OpenTelemetry 进行编译时插桩,实现零码注入
数据库·golang·可观测性·观测云
GreatVicent7 小时前
腾讯AI产业大会解读:Agent进场,企业基础设施怎么搭
大数据·数据库·人工智能·llm·agent·企业信息化
大模型码小白7 小时前
告别造假数据,直接连数据库查真实时序数据喂给 TimechoAI 大模型
java·数据库·人工智能·microsoft·架构
晚安日记wanna7 小时前
大表 DDL 面试翻车现场Online DDL 为什么还会锁死业务
数据库·面试·架构
IvorySQL8 小时前
PostgreSQL 日报|建库策略致备库静默丢数据(9 月 12 日)
数据库·人工智能·postgresql
这个DBA有点耶8 小时前
当Agent从“写SQL”变成“执行SQL”:数据库安全模型需要重新设计
数据库·aigc·dba
晚安日记wanna8 小时前
MySQL 主从延迟别只答并行复制
数据库·面试·架构