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 に置きました。
問題は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に変更してみてください。
2つの問題:
次のコマンドを使用して、ディレクトリ/ 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
http://localhost:1337
しかし、代わりにそれ必須 be test-https://localhost:1337