数据库开启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}

相关推荐
weixin_507847952 小时前
Nginx SSL/TLS 配置
网络·nginx·ssl
卓码软件测评3 小时前
第三方软件测评机构:MongoDB分片集群写入吞吐量与延迟第三方性能测评
数据库·mongodb·性能优化·压力测试
E_ICEBLUE3 小时前
如何使用 OCR 提取扫描件 PDF 的文本(Python 实现)
java·数据库·pdf
boonya3 小时前
MySQL与PostgreSQL核心区别对比
数据库·mysql·postgresql
Leo来编程3 小时前
七层网络协议-面试
网络·网络协议·面试
书院门前细致的苹果4 小时前
MySQL 中的 B+树和 B树的区别详解
数据结构·数据库·mysql
用户76339900908205 小时前
MongoDB数据库
数据库
boonya5 小时前
数据库分库分表是考虑ShardingSphere 还是Mycat?
数据库
扶尔魔ocy5 小时前
【qml入门】在qml项目上加入用户登录qml页面(包含源码)
数据库