1

我有 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。”

我很感谢我能得到的任何信息或帮助!:)

4

0 回答 0