Простая проверка концепции конфигурации Stunnel
Я пытаюсь настроить stunnel для доступа к веб-службе HTTPS из клиента, использующего только HTTP. Должен быть кусок пирога, верно? У меня есть следующий stunnel.conf:
client=yes
verify=0
[test-https]
accept = 1337
connect = www.google.com:443
Но когда я указываю свой браузер на http://localhost:1337
Я получаю страницу ошибки 404 от Google:
404. That’s an error.
The requested URL / was not found on this server
Я пробовал много других сайтов и всегда получаю какую-то ошибку. Например, WordPress сайты сказали бы:
Не удалось найти ни /etc/wordpress/config-localhost.php, ни /etc/wordpress/config-localhost.php. Убедитесь, что один из них существует, доступен для чтения веб-сервером и содержит правильный пароль / имя пользователя.
Кажется, я делаю что-то в корне неправильно, но каждый пример в Интернете показывает ту же конфигурацию, что и я. Может кто-нибудь дать мне какую-нибудь помощь?
Я использую stunnel 5.02-1 (x86_64) в Arch Linux. Я положил свой журнал Stunnel на Pastbin.
2 ответа
Проблема с localhost
часть. Большинство серверов не отвечает, если вы используете localhost
как его имя.
Как решить эту проблему: сначала выполните nslookup на сервере, к которому вы хотите подключиться, и выберите один из нескольких IP-адресов, т.е. 12.34.56.78
(не настоящий Google IP, только что придумал) Настройте ваш stunnel.conf так, чтобы он указывал на этот IP:
connect = 12.34.56.78:443
Установить на вашего клиента /etc/hosts
(Я предполагаю, что это тот же компьютер, что и stunnel, если нет, используйте соответствующий IP) эта новая строка:
127.0.0.1 www.google.com
Используйте URL http://www.google.com:1337
ПРИМЕЧАНИЕ: если вы все еще получаете ошибки, попробуйте изменить accept
с 1337 по 443.
Две проблемы:
Создайте свой собственный самозаверяющий сертификат с помощью этих команд в каталоге / etc / stunnel:
openssl genrsa 1024> stunnel.key openssl req -new -key stunnel.key -x509 -days 1000 -out stunnel.crt cat stunnel.crt stunnel.key> stunnel.pem
и убедитесь, что две строки в файле /etc/stunnel/stunnel.conf
;cert = /etc/stunnel/mail.pem
;key = /etc/stunnel/mail.pem
изменены следующим образом:
cert = /etc/stunnel/stunnel.pem
key = /etc/stunnel/stunnel.pem
- Вызов в вашем браузере, учитывая вашу метку [test-https], не должен быть
http://localhost:1337
но вместо этого должно бытьtest-https://localhost:1337