Я пытаюсь интегрировать платежный шлюз на сайт, и провайдер шлюза требует, чтобы он был защищен с помощью ssl, они также рекомендовали использовать stunnel. Я установил stunnel и настроил программу stunnel для работы с окнами. Но теперь мне нужно перенести сайт на рабочий сервер, на котором работает Cent OS. Я установил stunnel на сервере, а также обнаружил, что порт 5555, указанный в документации платежного шлюза, закрыт. Я также создал необходимые файлы .csr и .key, а провайдер шлюза отправил мне файл CAcert.pem и еще один файл .pem.
Файл конфигурации stunnel в Windows выглядит так
#Change below to the correct path
key=C:\certs\PREMIEREACAD.key
CAfile=C:\certs\CAcert.pem
cert=C:\certs\PREMIEREACAD.pem
client = yes
debug=debug
# Change below to the correct Stunnel log path
output=C:\Stunnel\stunnel.log
verify=1
service=stunnel
[psuedo-https]
#IP Address of MPI Test
connect = 196.46.20.36:5443
accept = 5555
Мой вопрос в том, как я могу открыть порт 5555, и могу ли я использовать ту же конфигурацию и изменить пути? Спасибо за помощь
Когда порт закрыт, это означает, что ни один процесс не прослушивает соединения на этом порту. Проверьте, запущен ли stunnel и слушает ли он порт:
ps aux | fgrep stunnel
netstat -anp | egrep '5555|stunnel'
Если он не запущен, проверьте, как вы запускаете stunnel. У вас есть выскочка или сценарий инициализации sysvinit? Есть ли какие-либо ошибки конфигурации, вызывающие прерывание работы stunnel? (Возможно, неправильный путь к ключу или сертификату или неправильные разрешения)
Если он работает и прослушивает порт, значит, у вас есть правила брандмауэра, которые блокируют подключения к нему. Я не знаю, как CentOS обрабатывает инициализацию и сохранение правил брандмауэра, но вы можете проверить действующие в настоящее время правила с помощью различных вызовов iptables
.