自己做了个网站,云端用的是Apache2.4做Web服务器,vite+vue+spring boot 做的前后端,由于是初学(我是小白),在本地能正常进行调试,但是在云端,网站能正常显示,后端也能正常工作,但就是不用做前后端的连接。
由于vite做了反向代理(具体教程请自行检索),后端的地址(htttp://abc.com/8001)在调用的时候,使用的是另外一个地址(htttp://abc.com/api)去调用。网上Apache相关的反向代理教程都不可行,一会说是要引入模块,一会一大堆XML似的代码,其实简单的反向调用没那么难,2行代码搞定。
我用的是centos8.4,Apache默认的配置文件在\etc\httpd\conf
中,找到httpd.conf,打开他,在内容的后面,加入下面两行代码。
ProxyPass "/api" "htttp://abc.com/8001" # 被代理的地址就是本身的站点,所以只要写“/api”就可以了
ProxyPassReverse "/api" "htttp://abc.com/8001"
我是在官方文档里面找到,地址在https://httpd.apache.org/docs/2.4/zh-cn/howto/reverse_proxy.html,第一个Simple reverse proxying
主题就是。但是如果不通看全部文档,不知道这部分应该填入哪里,而且前面还提到引用模块,弄得我云里雾里,以为还得import才能运行,实际直接写就可以。(本人英文渣)
官方文档最开头的章节Configuration Sections
也有这个说明,地址在https://httpd.apache.org/docs/2.4/en/sections.html,但初看也是云里雾里。
PS:我之前一直以为是vite的问题,在那上面浪费了很多时间,没想到是Apache的问题。。。下次决定用Nginx来搭建web服务器。