Configuração stunnel simples de prova de conceito

2

Estou tentando configurar stunnel para acessar um serviço da Web HTTPS a partir de um cliente somente HTTP. Deve ser um pedaço de bolo, certo? Eu tenho o seguinte stunnel.conf:

client=yes
verify=0
[test-https]
accept  = 1337
connect = www.google.com:443

Mas quando eu aponto meu navegador para http://localhost:1337 , recebo a página de erro 404 do Google:

404. That’s an error. The requested URL / was not found on this server

Eu tentei muitos outros sites e sempre tive algum tipo de erro. Sites Wordpress, por exemplo, diriam:

Neither /etc/wordpress/config-localhost.php nor /etc/wordpress/config-localhost.php could be found. Ensure one of them exists, is readable by the webserver and contains the right password/username.

Parece que estou fazendo algo fundamentalmente errado, mas todos os exemplos na Web mostram exatamente a mesma configuração que eu tenho. Alguém pode me dar algum tipo de ajuda?

Estou usando o stunnel 5.02-1 (x86_64) no Arch Linux. Eu coloquei meu log stunnel em pastebin .

    
por kaqqao 10.08.2014 / 14:02

2 respostas

3

O problema é com a parte localhost . A maioria dos servidores não responde se você usa localhost como nome.

Como resolver isso: Primeiro, faça um nslookup no servidor que você deseja acessar e escolha um dos vários IPs, ou seja, 12.34.56.78 (não é um verdadeiro IP do Google, apenas inventou) Configure o seu stunnel.conf para apontar para esse IP:

connect = 12.34.56.78:443

Defina no /etc/hosts do seu cliente (suponho que seja a mesma máquina que o stunnel, se não, use o IP correspondente) nesta nova linha:

127.0.0.1 www.google.com

Use o URL http://www.google.com:1337

NOTA: se você ainda receber erros, tente alterar o accept de 1337 para 443.

    
por 10.08.2014 / 17:30
0

Dois problemas:

  1. Gere seu próprio certificado autoassinado com esses comandos, no diretório / etc / stunnel:

    openssl genrsa 1024 > stunnel.key  openssl req -new -chave stunnel.key -x509 -dias 1000 -out stunnel.crt  cat stunnel.crt stunnel.key > stunnel.pem

e verifique se as duas linhas no arquivo /etc/stunnel/stunnel.conf

 ;cert = /etc/stunnel/mail.pem
 ;key = /etc/stunnel/mail.pem

são modificados da seguinte forma:

 cert = /etc/stunnel/stunnel.pem
 key = /etc/stunnel/stunnel.pem
  1. A invocação no seu navegador, dado o rótulo [test-https], deve não ser http://localhost:1337 , mas deve ser test-https://localhost:1337
por 10.08.2014 / 17:06