我同时拥有apache和nodejs服务器,端口80上的apache和3001上的nodejs
我想为api调用创建一个网址,例如:
https://mywebsite..com:3001/至https://api.mywebsite.com/在CloudFlare上
有可能吗?我尝试了页面规则,但没有用。
那我该怎么办?
谢谢
答案 0 :(得分:1)
执行此操作的最佳方法是将apache配置为将api.mywebsite.com代理到服务器上的端口3001
grep从以下示例
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass "/" "http://localhost:3001/"
ProxyPassReverse "/" "http://localhost:3001/"
ServerName api.mywebsite.com
</VirtualHost>
https://httpd.apache.org/docs/2.4/vhosts/examples.html
请确保您还使用了正确的CORS设置,否则将无法从网站前端请求api
防止这种情况的另一种方法是将位置/ api代理到您的api
<Location "/api/">
ProxyPass "http://localhost:3001"
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</Location>
https://httpd.apache.org/docs/2.4/mod/mod_proxy.html