サブドメインがメインドメイン Apache2 にリダイレクトされる

サブドメインがメインドメイン Apache2 にリダイレクトされる

Apache サーバー上で Web サイトを実行しています。サブドメインにアクセスしようとすると、メイン ドメインにリダイレクトされます。

Apache 設定ファイルは次のとおりです。

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName azaanjobs.com
        ServerAlias www.azaanjobs.com
        DocumentRoot /var/www/azaanjobs/public_html

        <Directory /var/www/azaanjobs/public_html/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        Include /etc/letsencrypt/options-ssl-apache.conf

        SSLCertificateFile /etc/letsencrypt/live/azaanjobs.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/azaanjobs.com/privkey.pem
    </VirtualHost>
</IfModule>

<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName government-jobs.azaanjobs.com
    ServerAlias www.government-jobs.azaanjobs.com.com
    DocumentRoot /var/www/government-jobs/public_html/
    
    <Directory /var/www/government-jobs/public_html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

これをどうすれば修正できますか?

答え1

Apacheは、ファイルシステムに表示される順序で、Webリクエストと設定されたドメインを一致させようとします。そして設定ファイル内。一般的な経験則として、サブドメインをメイン サイトの前に処理し、処理されていないトラフィックの「キャッチオール」として機能するように構成することをお勧めします。

これを念頭に置いて、構成ファイルを次のように更新することができます。

<VirtualHost *:8080>
    ServerAdmin [email protected]
    ServerName government-jobs.azaanjobs.com
    ServerAlias www.government-jobs.azaanjobs.com
    DocumentRoot /var/www/government-jobs/public_html/
    
    <Directory /var/www/government-jobs/public_html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        ServerAdmin [email protected]
        ServerName azaanjobs.com
        ServerAlias www.azaanjobs.com *.azaanjobs.com
        DocumentRoot /var/www/azaanjobs/public_html

        <Directory /var/www/azaanjobs/public_html/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        Include /etc/letsencrypt/options-ssl-apache.conf

        SSLCertificateFile /etc/letsencrypt/live/azaanjobs.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/azaanjobs.com/privkey.pem
    </VirtualHost>
</IfModule>

ノート:

  1. 更新された構成ファイルは、の誤ったwww.government-jobs.azaanjobs.com.com値をServerAlias適切な.com参照に置き換えます。
  2. *.azaanjobs.comメインドメインにエイリアスを追加し、「予期しない」トラフィックを捕捉して適切な場所にルーティングできるようにしました。
  3. メインサイトには の設定がないようですが*:80、サーバーの前の何かが非SSLトラフィックをSSLを使用するように変換していない場合は問題になる可能性があります。
  4. サブドメインはまだポート でリッスンしているので、訪問者がブラウザでポートを指定せずにサイトを見ることができるようにするには、8080これを に更新する必要があります。*:80

設定ファイルを変更した後は、必ず Apache を再起動してください。

sudo service apache2 restart

これで必要なものが手に入るはずです

関連情報