冲
2024-06-06
#提问# 用户中心上线之后还有些问题没搞懂,请教一下大佬们 1. 用户中心的前端,到底是怎么知道,在请求的时候后端的地址和端口值多少的? 在本地开发的时候,前端页面好像默认是localhost:8000端口(我并没有在配置代码中找到设置端口的地方),那在登录或者其他请求的时候,默认是不是就会去访问localhost:8000/api/user/...,而这样是访问不到后端的,因为后端在本地是localhost:8080,端口不同会在本地也会出现跨域问题,所以使用ant design pro配置了正向代理'/api': {target: 'http://localhost:8080'},如图一所示,这样本地前后端才能交互。 那么上线之后在服务器中前端是怎么请求到后端8080端口的?毕竟之前配置的正向代理只能在开发环境中使用。后来鱼皮哥在 globalRequest.ts文件中配置了生产环境的请求前缀prefix: process.env.NODE_ENV === 'production' ? 'http://www.codefather.cn' : undefined,如图二所示,鱼皮哥用的是自己后端域名(这个后端域名是不是就等同于服务器IP啊?),由于我的域名还没有审核完成,所以我前后端的域名暂时都是直接使用的IP地址,不知道这样会不会有问题? 那么我的问题来了,那么前端在服务器中由于是nginx运行,所以网址输入服务器IP默认80端口,跳转到前端登陆页面,后端在服务器运行后是8080端口,那么我们在登陆或者其他操作的时候,前端怎么请求到后端的8080端口呢?(毕竟请求前缀写的是后端域名,不也是服务器的IP地址,并没有指定端口啊,每次请求不还只能跳转到该IP地址的默认80端口)我一开始不理解,后来听了鱼皮哥讲的跨域操作,觉得这就是同域名(因为我前后端都直接用的IP,所以应该是同域名吧?)不同端口的跨域操作,所以在nginx中的配置了反向代理,代理到127.0.0.1:8080本机的8080端口,然后就解决了,如图三所示。但是后续的两种后端处理跨域问题,却没有成功,我关闭nginx的反向代理,将后端文件更新为加注解和写WebMvcConfg配置类,如图五和图六所示,刷新网页都没有成功访问到后端,控制台显示404,如图四所示。这时我才发现,这两种后端处理跨域的操作,前端好像更本就没有请求到后端啊,所以我才想问,上线后前端到底是怎么知道,在请求的时候后端的地址和端口值多少的? 不知道是我少了哪些步骤,想请问各位大佬,如果我得某些理解有错误,也还烦请各位大佬指出,感谢感谢[流泪]
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP