我有 apache2 为用户提供页面(它是一个 PHP 页面)。然后我有 javascript 连接到 nodejs server.js 文件(在端口 8443 上)并使用 socket.io 向用户提供信息和其他内容。
但现在我正在尝试在网站上实施条带支付。
并且客户端需要使用代码获取 clientSecret
fetch("/create-payment-intent", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(purchase)})
在 server.js 我有
app.get("/create-payment-intent", async (req, res) => {
const { items } = req.body;
// Create a PaymentIntent with the order amount and currency
const paymentIntent = await stripe.paymentIntents.create({
amount: calculateOrderAmount(items),
currency: "usd"
});
res.send({
clientSecret: paymentIntent.client_secret
});
});
我遇到的问题是请求https://mydomainname.com/create-payment-intent 不起作用,我收到 404 错误
但是,如果请求具有 nodejs 端口https://mydomainname.com:8443/create-payment-intent,它就可以工作
所以我试图将 nodejs 代理到https://mydomainname.com/api 以便我可以在我的代码中使用 fetch("/api/create-payment-intent", 。
我一直在我的 /etc/apache2/sites-available/mydomainname.com.conf 中尝试了很多不同的设置
ProxyRequests off
ProxypreserveHost on
ProxyVia Full
ProxyPass /api http://127.0.0.1:8443/
ProxyPassReverse /api http://127.0.0.1:8443/
和
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /api http://localhost:8443/
ProxyPassReverse /api http://localhost:8443/
但我无法让它工作。
我收到“服务不可用由于维护停机或容量问题,服务器暂时无法为您的请求提供服务。请稍后再试。” 或“未找到。在此服务器上未找到请求的 URL。”
我很感谢我能得到的任何信息或帮助!:)