Apache2.4配置反向代理的方法,调用API用(设计网站做前后端发现的问题)

发布时间 2023-04-17 22:28:11作者: 程序貓

自己做了个网站,云端用的是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服务器。