我已经在我的EC2实例的Apache服务器上设置了反向代理。根据浏览器的说法,它似乎正在工作。我的Express.js服务器正在监听端口5000,如果我在浏览器中输入url https://www.myapp.com,我的快速服务器将向客户端发送正确的响应。
然而,https url并不适用于我的Reactive原住民应用程序。使用本地机器上的RN应用程序,使用url对服务器的API调用不会产生响应。我没有看到来自本机或服务器的任何错误(pm2日志没有提供任何信息)。
以下是对我的httpd.conf文件的重要信任:
//位于文件顶部:
听80
//在文件底部:
ProxyPass / http://myapp.com:5000
ProxyPassReverse / http://myapp.com:5000
本机应用程序使用域名访问API路由的唯一方法是:http://www.myapp.com:5000这也适用于浏览器,但连接当然不安全。
这会产生一个来自React本机:https://www.myapp.com:5000的错误。注意s中的https
未定义的
不是对象
虽然这个错误通常是当您给它一个错误的url时得到的。
这也没有给我带来什么:http://www.myapp.com,但在浏览器上,它默认为https,并从Express获得正确的响应。
我找不到问题出在哪里。在设置反向代理之前,我为我的域名设置了SSL/TLS,这个顺序似乎与在线教程的建议相反。我真的不知道这是否重要。
任何方向都会有帮助。谢谢。
发布于 2022-11-15 12:53:58
事实证明,问题是配置在我的httpd.conf文件中。我需要给ProxyPass和ProxyPassReverse一个路径。单靠"/“是不行的。
ProxyPass /api http://myapp.com:5000
ProxyPassReverse /api http://myapp.com:5000
然后在我的url路径上,我最后需要/api:
现在一切都正常了。
https://stackoverflow.com/questions/74439227
复制相似问题