web-dev-qa-db-ja.com

www.foobar.comは機能しますが、foobar.comで「サーバーが見つかりません」エラーが発生します

次の設定ファイルを使用して、Apache Webサイトを最小限に設定しました(できれば安全ですか?-コメントを歓迎します)。

<VirtualHost *:80>
        ServerName foobar.com
        ServerAlias www.foobar.com
        ServerAdmin [email protected]
        DocumentRoot /path/to/websites/foobar/web
        DirectoryIndex index.php

        # CustomLog with format nickname
        LogFormat "%h %l %u %t \"%r\" %>s %b" common
        CustomLog "|/usr/bin/cronolog /var/log/Apache2/%Y%m.foobar.access.log" common

        LogLevel notice
        ErrorLog "|/usr/bin/cronolog /var/log/Apache2/%Y%m.foobar.errors.log"

        <Directory />
                AllowOverride None
                Order Deny,Allow
                Deny from all
        </Directory>

        <Directory /path/to/websites/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

Www.foobar.comを使用してWebサイトにアクセスできますが、foobar.comと入力すると、「サーバーが見つかりません」というエラーが表示されます。これはなぜですか?

2番目の質問は、ディレクティブのセキュリティへの影響に関するものです。

<Directory /path/to/websites/>
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
</Directory>

上記の構成で。それは正確に何をしていて、それは必要ですか? Apache構成ファイルの(明らかに制限された)理解から、これは誰でも/ path/to/websites /フォルダーにアクセス(書き込み?)できることを意味します。私の理解は正しいですか? -そして、はいの場合、これはどのようにセキュリティ上のリスクではありませんか?

1つのサイトで2つの名前を使用するには、

  • 両方のホストリクエストでApache側から応答します(完了しました)
  • を行うためにドメインのDNSを構成します
    • 2つのURLがあります
    • 正しいホストへのルーティング

要するに:nslookup foobar.comnslookup www.foobar.comは同一の回答と回答を返す必要があります

<Directory>コンテナディレクティブに関する印象が間違っています。すべてのホストがこのURLにアクセスしてコンテンツを取得できます。執筆の可能性に関するゼロの推測と判断。たぶんあなたはApacheドキュメントを読み始めます尋ねる前に質問?!

3
Lazy Badger