【SSL证书更换】:已拦截跨源请求:同源策略禁止读取位于 https://xxxxxx.top:8181/staff/login?xxx的远程资源(原因:CORS 请求未能成功)问题解决

总览

1.问题出现:出现了CORS请求不能成功的问题,原因是因为 SSL 证书过期了。
2.在更换 前端 SSL 证书之后,问题并不能得到解决。
3.解决办法:必须同时更换后端的 SSL - tomcat 版本的证书。


一、SSL 证书准备

1.SSL 免费证书下载

首先去 阿里云 下载免费的 SSL证书 (下载 nginx 版本 和 tomcat 版本)
有3个月的(免费),也有12个月的(68元)。

在这里插入图片描述在这里插入图片描述

2.txt 打开刚才下载的证书压缩包中的 SSL 的 nginx 文件

将 key 中的内容放到 KEY 中,将 PEM 中的内容放到 PEM 中

在这里插入图片描述

在这里插入图片描述

二、后端 SSL 证书更新

1.txt 打开刚才下载的证书压缩包中的 SSL 的 tomcat 目录

将 .pfx 文件保存好,我们要在后端中进行修改了。

在这里插入图片描述

2.打开后端,修改 application.yml 文件,并且把 新的 .pfx 文件放入 resources 目录

在这里插入图片描述

在这里插入图片描述

3.直接从 JAVA 项目 中开始运行

在这里插入图片描述

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一个使用libcurl进行带证书请求的示例代码,它使用了一些超级优化技巧,以最快的速度请求https://www.baidu.com: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <curl/curl.h> // 根证书文件路径 const char *CA_CERT_FILE = "/path/to/ca-certificates.crt"; // 请求超时时间(秒) const int REQUEST_TIMEOUT = 10; // 请求超时时间(毫秒) const int REQUEST_TIMEOUT_MS = REQUEST_TIMEOUT * 1000; // 请求URL const char *REQUEST_URL = "https://www.baidu.com"; // 回调函数,处理响应数据 size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) { // 这里我们不需要处理响应数据,只需要返回接收到的字节数 return size * nmemb; } int main() { // 初始化curl curl_global_init(CURL_GLOBAL_ALL); CURL *curl = curl_easy_init(); if (!curl) { fprintf(stderr, "Failed to initialize curl\n"); return EXIT_FAILURE; } // 设置请求URL curl_easy_setopt(curl, CURLOPT_URL, REQUEST_URL); // 设置根证书文件路径 curl_easy_setopt(curl, CURLOPT_CAINFO, CA_CERT_FILE); // 设置请求超时时间 curl_easy_setopt(curl, CURLOPT_TIMEOUT, REQUEST_TIMEOUT); curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, REQUEST_TIMEOUT_MS); // 不验证服务器证书主机名 curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0); // 不验证服务器证书 curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0); // 设置回调函数,处理响应数据 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); // 执行请求 CURLcode res = curl_easy_perform(curl); if (res != CURLE_OK) { fprintf(stderr, "Failed to perform request: %s\n", curl_easy_strerror(res)); curl_easy_cleanup(curl); curl_global_cleanup(); return EXIT_FAILURE; } // 清理curl curl_easy_cleanup(curl); curl_global_cleanup(); return EXIT_SUCCESS; } ``` 这个示例代码使用了以下优化技巧: 1. 使用了curl_global_init()初始化curl全局变量,避免在每个请求中重复初始化。 2. 设置了根证书文件路径,避免在每个请求中重复加载根证书。 3. 设置了请求超时时间,保证不会因为网络问题卡住。 4. 不验证服务器证书主机名和证书,避免在每个请求中重复验证证书。 5. 使用了CURLOPT_WRITEFUNCTION回调函数,避免在每个请求中重复处理响应数据。 这些优化技巧可以显著提高请求速度,使得我们可以更快地获取到https://www.baidu.com的响应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MicroLindb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值