web-dev-qa-db-ja.com

シンプルな概念実証のstunnel構成

HTTPのみのクライアントからHTTPSWebサービスにアクセスするようにstunnelをセットアップしようとしています。ケーキのはずですよね?私は次のstunnel.confを持っています:

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

しかし、ブラウザでhttp://localhost:1337を指定すると、Googleから404エラーページが表示されます。

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も見つかりませんでした。それらの1つが存在し、Webサーバーで読み取り可能であり、正しいパスワード/ユーザー名が含まれていることを確認してください。

私は根本的に間違ったことをしているようですが、Web上のすべての例は、私が持っているのとまったく同じ構成を示しています。誰か助けてくれませんか?

ArchLinuxでstunnel5.02-1(x86_64)を使用しています。 stunnelログを Pastebin に置きました。

3
kaqqao

問題はlocalhost部分にあります。名前としてlocalhostを使用すると、ほとんどのサーバーは応答しません。

これを解決する方法:最初に、到達したいサーバーでnslookupを実行し、複数のIPの1つを選択します。つまり、12.34.56.78(真のGoogle IPではなく、作成したばかりです)その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に変更してみてください。

3
NuTTyX

2つの問題:

  1. 次のコマンドを使用して、ディレクトリ/ 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の2行を確認してください

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

次のように変更されます。

 cert = /etc/stunnel/stunnel.pem
 key = /etc/stunnel/stunnel.pem
  1. [test-https]ラベルを指定したブラウザでの呼び出しは、notである必要がありますhttp://localhost:1337しかし、代わりにそれ必須 be test-https://localhost:1337
0
MariusMatutiae