私はどのように対処するのか本当にわからないという課題がありました。私が求めていることは、CloudFrontにカスタムヘッダーを追加し、このカスタムヘッダーを使用してサイトを提供することです。私はまた、ヘッダーが設定されていないときに通常の使用にフォールバックする必要があります。Apache virtualhostのCloudFrontからカスタムヘッダーを使用する方法
私は私のメインのウェブサイトがあります。www.domain.comprod.domain.comに設定原点とCloudFrontは上の設定です。サイトはwww.domain.com(これは変更できません)
として設定されています。私がしたいのは、サイト名を定義し、このヘッダーを私のvirtualhostで使用するCloudFrontのカスタムヘッダーを設定します。正しいサイトを読み込む。例のため
、私はヘッダーを追加しました:会社ホスト名とwww.domain.comに値を設定します。 CloudFrontの起点はprod.domain.comであり、この新しいドメインのサーバーIPを指すようにDNSを更新しました。これまでのところ良いですが、これでサーバからprod.domain.comをロードしようとしています。
私がしたいことは、Apacheがこれを処理するデフォルトの方法の代わりにカスタムヘッダーを使用してサイトを読み込むことです。ヘッダーが設定されていない場合、私はまだフォールバックが必要です。私は単にこのヘッダーをHOSTヘッダーに設定するだけで十分だと思います。
私のサーバー仕様:
# cat /etc/centos-release
CentOS release 6.8 (Final)
# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: May 11 2016 19:28:33
私はまた、Apacheの2.4でこれを行う方法を知っておく必要がありますが、今2.2のために不可欠であるだろう。
私は、ヘッダーで遊んでみました、私はカスタムヘッダー値を持つホストヘッダーを上書きするために期待していた私のhttp.conf
<IfModule mod_headers.c>
<IfDefine company_host_name>
Header set Host "%{company_host_name}e"
</IfDefine>
</ifModule>
にこれを追加しました。私はこれで十分であると思うが、私はこれを働かせるように見えない。
多分私はそれを複雑にしており、一歩前に戻る必要があります。だから私は、あまりにも難しいとは思っていなかったことについて助けを求めています。
ご協力いただきありがとうございます。あなたの問題の説明から
のVirtualHost
<VirtualHost *:80>
ServerName www.domain.com
ServerAlias prod.domain.com
RequestHeader set Host "www.domain.com"
DocumentRoot /var/www/vhosts/domain.com/public_html
<Directory /var/www/vhosts/domain.com/public_html>
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All
</Directory>
ErrorLog /var/www/vhosts/domain.com/logs/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/www/vhosts/domain.com/logs/access.log combined
<IfModule mod_php5.c>
php_value error_log /var/www/vhosts/domain.com/logs/php_error.log
php_value newrelic.appname "domain.com - PHP"
</IfModule>
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
#INCLUDES
</VirtualHost>
あなたはオリジンサーバ上の2つの仮想ホスト、 'www.domain.com'のための' prod.domain.com'および他のための1つを持っていますか?両方の仮想ホストが異なる 'DocumentRoot'からのコンテンツを提供していますか? – nidhi
私は現在、サーバに約12個の仮想ホストを持っています。この作業では、私が焦点を当てる必要があるwww.domain.comがあります。これはすでに自分自身の仮想ホストです。 prod.domain.comはありません...私は、クラウドフロントがサーバーにIPを取得させる手段としてprod.domain.comを使用しています(DNSのみ)。私はカスタムヘッダーを使用して、デフォルトのホストの代わりにサイトをロードすることを望んでいます(ヘッダーが定義されていない場合はホストへのフォールバックを使用します)。ここの問題はサイトがwww.domain.comとしてしか動くことができないので、prod.domain.comを追加してディレクトリにマッピングするとうまくいきません... – Jeremy