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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

3回答

7883閲覧

apacheエラー:AH02032

haduki08

総合スコア13

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/02/01 10:09

編集2022/01/12 10:55

apacheのエラーログに下記エラーが出力され原因と対策を調べています。

errorlog

1AH02032: Hostname exsample.com provided via SNI and hostname sub.exsample.com provided via HTTP are different

ホスト名が異なると怒られているっぽいのですが、対策がわからず・・・
動作には問題がなく動いています。
単一のサーバーで、2つの異なるドメインサイトを運用しています。(exsample.com、sub.exsample.com)

スペックは下記の通り
Server version: Apache/2.4.16 (Ubuntu)
HTTP/1.1

apacheのconfファイルは下記参照(ドメインはexsampleに書き換え)

apache

1#### exsample.com 2<VirtualHost *:80> 3 ServerName exsample.com 4 ServerAlias www.exsample.com 5 Redirect permanent / https://exsample.com/ 6</VirtualHost> 7<VirtualHost *:443> 8 ServerName exsample.com:443 9 DocumentRoot /home/www/main 10 11 # ssl 12 SSLEngine on 13 SSLCertificateFile /certs/exsample.com.crt 14 SSLCertificateChainFile /certs/exsample.com.cer 15 SSLCertificateKeyFile /key/exsample.com.nopass.key 16 17 <Directory "/home/www/main"> 18 Options MultiViews FollowSymLinks 19 AllowOverride All 20 Require all granted 21 </Directory> 22</VirtualHost> 23 24#### sub.exsample.com 25<VirtualHost *:80> 26 ServerName sub.exsample.com 27 ServerAlias www.sub.exsample.com 28 Redirect permanent / https://sub.exsample.com/ 29</VirtualHost> 30<VirtualHost *:443> 31 ServerName sub.exsample.com:443 32 DocumentRoot /home/www/sub 33 34 # ssl 35 SSLEngine on 36 SSLCertificateFile /certs/sub.exsample.com.crt 37 SSLCertificateChainFile /certs/sub.exsample.com.cer 38 SSLCertificateKeyFile /key/sub.exsample.com.nopass.key 39 40 <Directory "/home/www/sub"> 41 Options MultiViews FollowSymLinks 42 AllowOverride All 43 Require all granted 44 </Directory> 45</VirtualHost>

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

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

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

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

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

guest

回答3

0

SSL証明書のエラーなんですが、example.comの証明書をお持ちですか?でなければとりあえずSSLをやめては?
自己署名でなんとかしたければこのへんをご参考にがんばってくださいな。

投稿2019/02/01 10:13

papinianus

総合スコア12705

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

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

haduki08

2019/02/01 10:15

@papinianus Let’s Encryptで取得していて、SSL通信はできています。
haduki08

2019/02/01 10:16

2つのサイト共に、SSL通信できているので SNIも動作していると思います。
papinianus

2019/02/01 10:19

それは大変失礼いたしました。申し訳ないです。エラーメッセージの意味と、example.comというドメインから安易に推測しました。
haduki08

2019/02/01 10:21

@papinianus いえ、回答ありがとうございます!! 実際に設定しているドメインは、example.comではないです。 事情により、ドメイン名は、変えています。
guest

0

AH02032: Hostname exsample.com provided via SNI and hostname sub.exsample.com provided via HTTP are different

このエラーメッセージは SNI名(SSLハンドシェイクのClient Hello の拡張で付与されるサーバ名)と接続確立後HTTPリクエストに入っているHostヘッダーが異なる場合にでるものです。通常のブラウザからの直アクセスでは発生しえません。
何らかのプログラムからのAPI呼び出しか、ブラウザとWebサーバの間にプロキシが入っているのではありませんか?
プロキシが入っているのであれば、プロキシがWebサーバに送るSNI名をブラウザからアクセスするときのFQDNに合わせる必要があります。
たとえば、プロキシがnginxであれば、プロキシに以下の設定をいれることで回避できます。

proxy_ssl_name $host;

上記に心当たりがないようであれば、TLS Virtual Host Confusionと名付けられている外部からの攻撃の可能性があります。その場合、このチェックにより攻撃を弾き返したという意味になります。
参考: https://hackerone.com/reports/501

投稿2020/04/22 22:18

編集2020/04/23 04:54
mit0223

総合スコア3401

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

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

退会済みユーザー

退会済みユーザー

2020/04/22 23:34

うちの回答のコメントについてるけど 1つのサーバーに「有料SSL証明書」+「無料SSL証明書」の二つを入れてるらしいよ
mit0223

2020/04/23 04:47

asahina1979様、私の知る限りはこのメッセージは証明書の問題ではなく、アクセスしているクライアント側の問題のはずです。証明書を let's Encrypt の複数SNI対応にしてもこのエラーはなくならないはずです。
退会済みユーザー

退会済みユーザー

2020/04/23 04:51

うちの回答でなく、それについてる質問者のコメントね
mit0223

2020/04/23 05:03

asahina1979様、ブラウザから https://sub.example.com にアクセスすると、まず、SNI名に sub.example.com を指定してハンドシェイク(サーバ側はsub.example.com の秘密鍵で自身を証明)後、HTTPリクエストのヘッダーに Host: sub.exsample.com を指定します。このメッセージでは前者が example.com だったのに後者が sub.example.com になっていると言ってます。通常のブラウザではこのようなことが起こるはずがありません。クライアント側からのパケットの不整合を弾いているメッセージです。証明書の問題ではないと推測しております。
guest

0

別々につくってるからじゃね、その作り方だとかなり面倒なコマンドになってたはずだし
通常はドキュメントどおり、こういう風に設定するはずなので

bash

1certbot certonly \ 2 --webroot -w /var/www/vhost/www.example.jp/public_html \ 3 -d example.jp \ 4 -d www.example.jp \ 5 -d gitlab.example.jp \ 6 -d cdn.example.jp 7

投稿2019/02/01 14:04

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

haduki08

2019/02/01 15:00

SSLの証明書を別々に取得しているから。 ということでしょうか? 書いてなかったですが、 exsample.comは、有料の認証局から取得していて サブドメインは、Let’s Encryptで取得しています。
退会済みユーザー

退会済みユーザー

2020/04/23 04:57

@質問者 重要な事項なのでちゃんと質問を編集して追記しましょう
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問