質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

Q&A

解決済

1回答

1429閲覧

haproxy経由でcurl実行時のEmpty reply from serverの対応について

no_secure

総合スコア15

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

0グッド

1クリップ

投稿2019/06/17 13:13

編集2019/06/21 16:19
設定の要件は、 super.example.com/login.aspxにはSSL通信となり haproxy経由で443ポート接続で受けた、super.example.com/login.aspxの証明書を紐解いて、 80ポートでバックエンド側に通信を行いたい事が要件です

・haproxyにはexample.comのワイルドカード証明書が入っています
・haproxyには、既にtest-example.comのドメインでのバックエンド側通信設定が入っています
・80での非SSLで受けたものは redirect scheme https if !{ ssl_fc } のhaproxyでhttpからhttpsへリダイレクトする設定を入れています
・haproxyバージョンは1.5.18 です
・OSはCentOS7.6です

[root@haproxy01 ~]# curl -vv -I https://test-example.com/login.aspx * About to connect() to test-example.com port 443 (#0) * Trying **.**.**.**... * Connected to test-example.com(**.**.**.**) port 443 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * SSL connection using SHA****** * Server certificate: * subject: CN=example.com,OU=Div.,O=*** Corporation,L=***,ST=***,C=JP * start date: ************* * expire date: ************* * common name: *.example.com * issuer: ******************************* > HEAD /login.aspx HTTP/1.1 > User-Agent: curl/7.29.0 > Host: super.example.com > Accept: */* > * Empty reply from server * Connection #0 to host super.example.com left intact curl: (52) Empty reply from server [root@haproxy01 ~]#

●test-example.comドメインの入ったhaproxy.cfgにsuper.example.comの通信設定を下記のように入れ、httpでcurlで実行した結果は下記になります

[root@haproxy01 haproxy]# curl -vvv -I http://super.example.com * About to connect() to super.example.com port 80 (#0) * Trying **.**.**.**... * Connected to super.example.com (**.**.**.**) port 80 (#0) > HEAD / HTTP/1.1 > User-Agent: curl/7.29.0 > Host: super.example.com > Accept: */* > < HTTP/1.1 302 Found HTTP/1.1 302 Found < Cache-Control: no-cache Cache-Control: no-cache < Content-length: 0 Content-length: 0 < Location: https://super.example.com/login.aspx Location: https://super.example.com/login.aspx < Connection: close Connection: close < * Closing connection 0

httpでのcurl実行時は302で https://super.example.com/login.aspxにリダイレクトはしているのですが
実行結果にページ情報が入ってきませんし、
httpsでのcurl実行時は、curl: (52) Empty reply from server となります

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

permit ip かよ

投稿2019/06/18 09:14

no_secure

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問