PayPal IPN на порту, кроме 80
-
27-09-2019 - |
Вопрос
Кто-нибудь пытался использовать IPN PayPal на порту, кроме 80?
Я пытаюсь указать URL, как http://domain.com:80808/url/to/ipn.php. Но запрос IPN не проходит.
Если я ударю URL прямо из моего браузера, он работает нормально.
Решение
Если у вас есть сервер Nginx с возможностью доступа к нему SSH, вы можете сделать:
Начать SSH обратный прокси:
ssh -Nvv -o TCPKeepAlive=yes -R 3000:localhost:3000 username@your-server.com
Добавить Nginx Config в прокси порт 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;
}
}
Другие советы
После выполнения нескольких тестов я смог подтвердить, что URL уведомления PayPal URL / 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
Не связан с StackOverflow