http项目改为/支持https的方案、无需修改后台代码

news2024/11/16 3:42:20

背景描述:原来的项目前后台都是http,现在某个服务要求前台必须使用https;

方案1:前台部署在https里,后面代码修改;但是微服务架构,后台工作量太大;

方案2:前台部署在https里,后台代码不修改;

             此时需要完成三个问题:

问题1:前台如何部署在https中;tomcat或者nginx;优先使用nginx;

步骤1:生成nginx的对应证书;使用域名证书,或者研发环境证书都可以;

参考文档:安装openshell,生成nginx证书;

Windows/Linux 生成Nginx证书【Nginx代理https】_crt pem key nginx代理-CSDN博客

步骤2:

1.1,把证书,前端代码都放在nginx中

1.2,配置证书和前台路径

案例中9909是前端https端口,9903是后端https端口,9901是后端http请求

1.3,启动nginx,通过https在浏览器访问前端;

1.3.1,nginx日志,在logs/error.log中;【假如启动报错,这里面都能看到错误信息】

问题2:https的前端,对应的必须是https的后端;需要把https转换为http【同样用nginx,可以使用同一个nginx】

    server {
        listen 9903 ssl;
        server_name  192.168.100.104;

        ssl_certificate      E:/nginx-1.16.1a/cert/server.pem;
        ssl_certificate_key  E:/nginx-1.16.1a/cert/server.key;
         location / {
                proxy_pass http://218.96.105.54:9901;
        }

配置后台的端口和证书

问题3:如何处理前后端端口不一样的跨域问题【核心】

启动nginx;在浏览器使用https访问前台,并登录系统;查看浏览器控制台是否报错;

常见错误信息

1、重复处理跨域【需要去掉一个跨域】

Access to XMLHttpRequest at 'https://192.168.100.104:9989/GateWayPC/LoginAndSetting/login' from origin 'https://192.168.100.104:9905' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'https://192.168.100.104:9905, http://192.168.100.104:9901', but only one is allowed.

解决方案:去掉多余的跨域处理

2、没有处理跨院【需要增加跨域处理】

Access to XMLHttpRequest at 'https://192.168.100.104:9989/jf/PSysyteminit/selectPSysyteminitByNameAndCode?code=A59' from origin 'https://192.168.100.104:9905' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

解决方案:增加跨域处理

3、其他错误

nginx Request header field uuid is not allowed by Access-Control-Allow-Headers in preflight response

解决方案add_header 'Access-Control-Allow-Headers' 'uuid,

最终nginx配置:

1,证书;2,前端https端口和后端https端口,后端http端口;3,如何处理跨域;

经验总结:

1,最开始使用nginx只能做一些简单的配置,这么复杂的头一次遇到;

1.1,遇到问题,先网络找答案;你遇到的问题,大家都遇到过;注意答案可以参考,但不要一模一样照抄;

1.2,一定要详细查看每种方案的报错信息。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1688518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PySODEvalToolkit 使用笔记

1. 克隆仓库 首先,克隆PySODEvalToolkit仓库到你的本地机器: git clone https://github.com/lartpang/PySODEvalToolkit.git2. 创建虚拟环境 cd PySODEvalToolkit conda create -n pysodeval python3.73. 安装依赖 pip install -r requirements.txt4…

文心一言 VS 讯飞星火 VS chatgpt (266)-- 算法导论20.2 1题

一、写出 PROTO-vEB-MAXIMUM 和 PROTO-vEB-PREDECESSOR 过程的伪代码。如果要写代码,请用go语言。 文心一言: 首先,让我们明确一下 PROTO-vEB-MAXIMUM 和 PROTO-vEB-PREDECESSOR 这两个过程是在介绍van Emde Boas树(简称vEB树&a…

Vue - JavaScript基础学习

一、语言概述 JavaScript 中的类型应该包括这些: 1.数字(默认双精度区别于Java) console.log(3 / 2); // 1.5,not 1 console.log(Math.floor(3 / 2)); // 10.1 0.2 0.30000000000000004NaN(Not a Number&#x…

深入用户内心:设计师如何通过可用性测试洞察用户需求

可用性测试是指让用户体验产品的原型或成品。设计师通过观察和分析用户的使用行为和感受,进一步合理地改进产品的设计方法。你可能会想知道我们可以用什么方法来测试可用性?随着互联网行业的快速迭代更新,可用性测试衍生出了许多类型和方法。…

Packet Tracer-HSRP+DHCPv4+VLAN间路由+以太通道综合实验

实验拓扑: 实验内容: VLAN及VLAN间路由的配置,以太通道的配置,STP的根调整,DHCPv4的配置,首跳冗余HSRP的配置。 实验最终结果: PC可以自动获取到DHCP-Server分配的IP地址,实现首跳…

【人工智能】模型性能评估

模型性能衡量介绍 混淆矩阵 混淆矩阵(Confusion Matrix) TP(真阳性):预测为阳性,且预测正确。 TN(真阴性):预测为阴性,且预测正确。 FP(伪阳性):预测为阳性,但预测错误,又称型一误…

widedeep模型简介

wide&deep模型 1.简介2.原理2.1 网络结构 3. 稀疏密集特征4.API和子类方式实现 1.简介 Wide and deep 模型是 TensorFlow 在 2016 年 6 月左右发布的一类用于分类和回归的模型,并应用到了 Google Play 的应用推荐中。wide and deep 模型的核心思想是结合线性模…

VBA_MF系列技术资料1-615

MF系列VBA技术资料1-615 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧,我参考大量的资料,并结合自己的经验总结了这份MF系列VBA技术综合资料,而且开放源码(MF04除外),其中MF01-0…

Ubuntu切换内核版本

#安装内核安装工具 sudo apt-get install software-properties-common sudo add-apt-repository ppa:cappelikan/ppa sudo apt-get update sudo apt-get install mainline#安装指定内核版本(有些版本并不能安装成功) mainline install 5.14.10#更新GRUB配置 sudo update-grub#查…

go mod模式下,import gitlab中的项目

背景 为了go项目能够尽可能复用代码,把一些公用的工具类,公用的方法等放到共用包里统一管理。把共用包放到gitlab的私有仓库中。 遇到的问题 通过https方式,执行go get报了错误。 通过ssh方式,执行go get报了错误。 修改配置&am…

Joomla 3.7.0 (CVE-2017-8917) SQL注入漏洞环境

1 漏洞概述 Joomla是一个基于PHP的内容管理系统(CMS),广泛应用于各类网站。2017年,Joomla 3.7.0版本被发现存在SQL注入漏洞(CVE-2017-8917),攻击者可以利用该漏洞对数据库进行未授权查询或操作…

副业树洞聊天项目/树洞倾诉/陪陪系统源码/树洞源码下载搭建

随着社会的发展和人们生活水平的提高,越来越多的人在面临心理压力、情感困扰或生活困境时,需要一个可以宣泄、倾诉和寻求支持的平台。而传统的人际交往方式往往会遇到难以排解的问题,比如担心被他人知晓自己的隐私等,这就导致了人…

鸿蒙系统和安卓系统通过termux搭建Linux系统—Centos

目录 1. 前言 2. 效果图展示 3. 安装termux 4. 安装Centos系统 4.1 更换源 4.2 拉取镜像 4.3 启动centos 5.结尾 1. 前言 大家好,我是jiaoxingk 今天这篇文章让你能够在手机或者平板上使用Linux-Centos系统 让你随时随地都能操作命令行进行装13 2. 效果图展示…

【科普知识】伺服电机中的内置制动器

在工业自动化和机器人技术快速发展的今天,伺服电机作为核心驱动元件,其性能与功能直接影响整个系统的运行效率与稳定性。 近年来,一体化伺服电机技术不断融合创新,并逐步加入了许多新的硬件和软件的功能,为工业自动化领…

全域外卖是谁创办的公司?

全域外卖是谁创办的公司?这个问题是抽象的。正确的问法应该是全域外卖是谁研发的系统。 在了解全域外卖系统前,我们首先要了解什么是全域外卖,什么是全域团购。全域指的是多平台。当然这个平台是越多越好。实际上也可以理解为聚合外卖、聚合…

图数据库助力供应链柔性升级

导读 当今市场环境受短视频等流媒体影响,任何风险事件在社交网络中传播速度极其迅速,留给企业的反应时间按分秒计,传统供应链的年度计划面对剧烈变化的市场环境已失去意义。此外,受近年局势动荡的影响,市场需求和供应…

Unity 资源 之 限时免费的Lowpoly农场动物,等你来领!

Unity资源 之 Lowpoly farm animals 农村动物 前言资源包内容领取兑换码 前言 Unity 资源商店为大家带来了一份特别的惊喜——限时免费的农场动物资源!这是一个充满趣味和实用性的资源包。 资源包内容 在这个资源包中,你可以找到丰富多样的低地养殖动物…

VScode代码片段自动转图标

注:在VScode编辑器中,编辑html、vue等文件时,特定代码片段(token/xxx’等)自动转图标显示,按住“ctrl鼠标左键”还可跳转“https://icones.js.org/collections”,个人感觉干扰代码编写&#xff…

VMware 安装Windows 7 SP1

1.下载镜像 迅雷:ed2k://|file|cn_windows_7_enterprise_with_sp1_x64_dvd_u_677685.iso|3265574912|E9DB2607EA3B3540F3FE2E388F8C53C4|/ 2.安装过程 自定义名字,点击【浏览】自定义安装路径 点击【浏览】,选择下载镜像的路径 结束啦~ Win…

详解http协议

什么是HTTP协议 定义 Http协议即超文本传送协议 (HTTP-Hypertext transfer protocol) 。 它定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次的角度看,HTTP是面向&am…