有人试过在 80 以外的端口上使用 Paypal 的 IPN 吗?
我正在尝试指定像http://domain.com:8080/url/to/ipn.php这样的 URL,但 IPN 请求没有通过。
如果我直接从浏览器中点击 URL,它就可以正常工作。
有人试过在 80 以外的端口上使用 Paypal 的 IPN 吗?
我正在尝试指定像http://domain.com:8080/url/to/ipn.php这样的 URL,但 IPN 请求没有通过。
如果我直接从浏览器中点击 URL,它就可以正常工作。
经过多次测试后,我能够确认 PayPal 的通知 URL/notify_url 不能包含非标准端口号。
这些网址将起作用:
http://my.website.com:80/ipnpage.aspx
https://my.website.com:443/ipnpage.aspx
这些将不起作用:
http://my.website.com:81/ipnpage.aspx
https://my.website.com:82/ipnpage.aspx
如果您有 nginx 服务器可以通过 ssh 访问它,那么您可以执行以下操作:
启动 ssh 反向代理:
ssh -Nvv -o TCPKeepAlive=yes -R 3000:localhost:3000 username@your-server.com
添加 nginx 配置以代理端口 80 上的端口 3000:
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;
}
}