80 以外端口上的 PayPal IPN

2021-12-29 00:00:00 php paypal paypal-ipn

是否有人尝试在 80 以外的端口上使用 Paypal 的 IPN?

Has anybody tried using Paypal's IPN on a port other than 80?

我正在尝试指定一个 URL,如 http://domain.com:8080/url/to/ipn.php 但 IPN 请求没有通过.

I'm trying to specify a URL like http://domain.com:8080/url/to/ipn.php but the IPN request isn't getting through.

如果我直接从浏览器点击 URL,它就可以正常工作.

If I hit the URL directly from my browser it works fine.

推荐答案

如果你的 nginx 服务器可以通过 ssh 访问它,那么你可以这样做:

If you have nginx server with possibility to access to it by ssh, then you can do:

启动 ssh 反向代理:

Start ssh reverse proxy:

ssh -Nvv -o TCPKeepAlive=yes -R 3000:localhost:3000 username@your-server.com

添加 nginx 配置来代理 80 端口上的 3000 端口:

Add nginx config to proxy a port 3000 on port 80:

server {
    listen       80;
    server_name  your-app.your-server.com;

    location / {
      proxy_pass          http://localhost:3000;
      proxy_set_header    Host             $host;
      proxy_set_header    X-Real-IP        $remote_addr;
      proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header    X-Client-Verify  SUCCESS;
      proxy_read_timeout 1800;
      proxy_connect_timeout 1800;
    }
}

相关文章