PayPal IPN на порту, отличном от 80

Кто-нибудь пытался использовать IPN Paypal на порту, отличном от 80?

Я пытаюсь указать URL-адрес, например http://domain.com:8080/url/to/ipn.php, но запрос IPN не проходит.

Если я нажму URL прямо из моего браузера, он отлично работает.

Ответы

Ответ 1

Если у вас есть сервер nginx с возможностью доступа к нему по ssh, вы можете сделать:

Запустите прокси-сервер ssh:

ssh -Nvv -o TCPKeepAlive=yes -R 3000:localhost:3000 [email protected]

Добавьте конфигурацию nginx для прокси-сервера через порт 3000 на порт 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;
    }
}

Ответ 2

После нескольких тестов я смог подтвердить, что URL-адрес уведомлений PayPal/notify_url не может содержать нестандартный номер порта.

Эти 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