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

相关推荐
若阳安好4 分钟前
【提效小工具】IN SQL、UPDATE SQL、INSERT SQL
java·数据库·sql
二月十六6 分钟前
SQL Server 2022 新函数:DATETRUNC 日期截断详解
数据库·sqlserver·datetrunc
qq_3806191638 分钟前
SQL中如何实现特定范围内数据的批量删除_范围分区与分区删除
jvm·数据库·python
qq_380619161 小时前
HTML函数开发需要独立显卡吗_HTML函数与显卡关系详解【说明】
jvm·数据库·python
2201_756847331 小时前
Golang如何处理JSON空值null_Golang JSON空值处理教程【精通】
jvm·数据库·python
我登哥MVP1 小时前
【Spring6笔记】 - 11 - JDBCTemplate
java·数据库·spring boot·mysql·spring
hef2881 小时前
怎么诊断MongoDB Config Server响应极慢的问题_高频Auto-split导致的元库写入压力
jvm·数据库·python
qq_380619161 小时前
html怎么用deno运行_Deno如何作为本地服务器运行HTML文件
jvm·数据库·python
ruan1145141 小时前
Redis--个人学习记录
数据库·redis·学习