既にWebサイトをお持ちの場合は、特定ディレクトリ以下へのアクセスを、ferret Oneのサーバーに転送することができます。
ここでは、設定方法について紹介します。
ferret Oneでは、ApacheとNginxでの設定およびAmazon CloudFrontについて動作確認を行っておりますが、それ以外のサービスに関しては動作を保障しておりませんので、あらかじめご了承ください。
また、実施するためには、ご利用中のサーバーに対してご自身で設定していただく必要があり、専門知識を持った技術者の監修の下、ご自身の責任にて実施をお願い致します。
ferret One テクニカルサポートでは、本設定に関するサポートは致しかねますので、あらかじめご了承ください。
なお、運用中にトラブルが発生した場合(アクセスが不安定になる等)においても、明らかにferret Oneサーバーに問題があると認められる場合を除き、 弊社は調査協力を致しかねます。
目次
特定ディレクトリ配下設定とは
既存のサイトを動作したまま、ferret Oneで作成したページを特定ディレクトリ以下のみで表示するようにします。
特定ディレクトリ配下設定を実施する場合の注意点
- ferret OneはAWSの環境下で運用しており、サーバーのIPアドレスが変動することが考えられます。このため、設定時には以下の点に特にご注意ください。
- ドメインベースでの設定を維持してください:下記の設定例はドメインベースでの設定を前提としています。これを踏まえ、設定の変更・カスタマイズを行う際もドメインベースを維持することを強く推奨します。
- キャッシュの注意:IPアドレスやドメインのキャッシュ設定がある場合は、キャッシュの期間を短めに設定するか、動的に変更が検知された際にキャッシュをクリアする仕組みを検討してください。
これらの点を考慮せずに設定すると、ferret OneサーバーのIPアドレスが変わった際に、アクセスできなくなったり、想定外のサーバーにアクセスしてしまう可能性がございます。
※アクセスがない場合、ログも残りません。調査を行うことができませんのでご了承ください。
- 特定ディレクトリ配下設定の場合、SSLはお客様のサーバーを利用しますので、お客様のサーバー側でリダイレクト設定をお願いします。
上記についてご了承頂いた上で、以下の作業を進めて頂きます様お願い致します。
特定ディレクトリ配下設定手順
既存サイトをホスティングしているサーバーもしくはAmazon CloudFrontにて下記の設定を実施します。
それぞれ設定内容が異なりますので、いずれかをご覧ください。
<Apacheの場合>
Apache設定ファイル内に下記の記述を追記します。
SSL設定時と未設定時で記述が変わりますのでご注意ください。
※ XXX には任意のディレクトリ名をご記入ください
※ /__/ はフォームの送信処理や計測用ディレクトリとなります。PVやCV含め、ferret-one.com 側で各機能を利用するために必要なパスとなります。
-------------ここから-------------- ProxyPass /XXX http://host.ferret-one.com/XXX ProxyPassReverse /XXX http://host.ferret-one.com/XXX ProxyPass /__/ http://host.ferret-one.com/__/ ProxyPassReverse /__/ http://host.ferret-one.com/__/ ProxyPreserveHost On -------------ここまで-------------- # SSLの場合以下のコードで対応 -------------ここから-------------- SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off ProxyPreserveHost On ProxyPass /XXX https://host.ferret-one.com/XXX ProxyPassReverse /XXX https://host.ferret-one.com/XXX ProxyPass /__/ https://host.ferret-one.com/__/ ProxyPassReverse /__/ https://host.ferret-one.com/__/ ProxyPreserveHost On -------------ここまで--------------
※注意点
ProxyPass、ProxyPassReverseディレクティブは.htaccessに設定することができません。
レンタルサーバーをご利用中の場合、.htaccess以外の設定ファイルを編集することができない可能性がございますので、サーバー会社とのご契約内容を事前にご確認ください。
mod_ssl、mod_proxyといったモジュールもインストールされている必要があります。
また、Apacheがferret One側のIPアドレスをキャッシュする場合、ProxyPassにおいて, disablereuse、retryオプションの設定します。
ProxyPass /XXX https://host.ferret-one.com/XXX retry=0 disablereuse=On
(参考サイト:https://oji-cloud.net/2020/01/10/post-3964/)
<Nginxの場合>
Nginx設定ファイル内に下記の記述を追記します。
SSL設定時と未設定時で記述が変わりますのでご注意ください。
※domain.comにはご利用中のドメイン名を、XXXには任意のディレクトリ名をご記入ください
※ __/ はフォームの送信処理や計測用ディレクトリとなります。PVやCV含め、ferret-one.com 側で各機能を利用するために必要なパスとなります。
-------------ここから-------------- # # A virtual host using mix of IP-, name-, and port-based configuration # server { listen 80; server_name domain.com; location / { root html; index index.html index.htm; } location ~ ^/(XXX|__/) { proxy_set_header Host $http_host; proxy_set_header X-Forwarded-for $remote_addr; add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods "GET, POST, OPTIONS"; proxy_pass http://host.ferret-one.com; } } -------------ここまで-------------- # SSLの場合以下のコードで対応 -------------ここから-------------- server { listen 443; server_name domain.com; location / { root html; index index.html index.htm; } location ~ ^/(XXX|__/) { proxy_set_header Host $http_host; proxy_set_header X-Forwarded-for $remote_addr; add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods "GET, POST, OPTIONS"; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-Ssl on; proxy_pass https://host.ferret-one.com; } } -------------ここまで--------------
また、Nginxの名前解決に関する問題の対策として、下記が必要な場合があります。
- resolverディレクティブでDNSを指定する
- proxy_pass に指定するドメイン(host.ferret-one.com)を変数化する
(参考サイト:https://qiita.com/kawakawaryuryu/items/af5dcb59aea1a10e4939)
<Amazon CloudFrontの場合>
1. Originの設定
リバースプロキシの向き先を host.ferret-one.com に設定します。
- Origin Domain Name : host.ferret-one.com
2. Behaviorsの追加
対象となる特定ディレクトリのパスを設定します。
併せて計測用ディレクトリパスも設定する必要があります。
下記の場合は特定ディレクトリとして、/121880 と /blog を準備しているケースです。
特定ディレクトリのパスはパスパターンの最後に/*
がつくものとつかないものの2つを設定する必要があります。
例) /blog
, /blog/*
/__/* は計測用ディレクトリとなります。
これはPVやCV含め、ferret-one.com 側で各種計測をするために必要なパスとなります。
3. Behaviorsの設定 - 計測ディレクトリ
この計測パスはフォーム送信時にも必要になります。
なのでPOSTなども許可する必要があります。
- パスパターン : /__/*
- ビューワープロトコルポリシー : Redirect HTTP to HTTPS
- 許可された HTTP メソッド : GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
- キャッシュキーとオリジンリクエスト : Legacy cache settings
- ヘッダー : すべて
- クエリ文字列 : すべて
- cookie : すべて
4. Behaviorsの設定 - 特定ディレクトリ
特定ディレクトリは基本的にGETのみとなります。
フォーム画面の場合にもGETで問題ありません。
フォームの処理自体は 計測ディレクトリ /__/* にて実行されます。
Path Patternに関しては 末尾に /* があるものと、ないものの両方を準備してください。
/(特定ディレクトリ名), /(特定ディレクトリ名)/*
- パスパターン : /(特定ディレクトリ名)/*
- ビューワープロトコルポリシー : Redirect HTTP to HTTPS
- 許可された HTTP メソッド : GET, HEAD
- キャッシュキーとオリジンリクエスト : Legacy cache settings
- ヘッダー : すべて
- クエリ文字列 : すべて
- cookie : すべて
ferret One管理画面での設定
<サイト > ページ一覧>
サーバー側の設定が完了後、ferret Oneの管理画面でも下記の設定を行います。
ferret Oneでは、サイトマップの先頭がトップページとして扱われる仕様になっていますが、特定ディレクトリ配下設定を利用する場合は、ダミーのトップページを用意する必要があります。
ferret One管理画面の「サイト」>「ページ一覧」画面にてダミーのトップページを作成します。
ページの中身は空で問題ありません。
「※このページを削除しないでください」等、わかりやすいページ名を設定してください。
作成後、ページを公開してください。
<設定 > 基本設定 > 基本情報 ドメイン設定>
独自ドメイン(****.com/****.jpなど)を設定してください。
特定ディレクトリ配下の場合は(****.com/◯◯)ではなく、独自ドメイン(****.com/****.jpなど)を設定してください。
<設定 > 基本設定 > 基本情報 パンくずリスト設定>
パンくずリストの先頭に「ダミーページ」が表示されますので、非公開にすることをおすすめします。
※ページ名が表示されますので「TOPページ」と設定しても構いません。
<設定 > 詳細設定 > SSL証明書>
SSL証明書をお持ちの場合は、「証明書登録」にて保有しているSSL証明書をご登録ください。
SSL証明書の登録有無で判断している機能が存在しています。
■お手持ちのSSL証明書の設定についてはこちら
>SSL証明書を設定する方法
<404ページ(File not found)>
ユーザーが探しているページが見つからない場合に表示するページのURLについては、
特定ディレクトリ以下ではなく、変更をしないようにしてください。
<URL設定について>
専用ディレクトリ設定の場合、各ページのURL設定で、以下の●●●にあたる箇所の入力が必要です。
各ページの編集画面内、設定 > 基本設定 > ページのURLから変更、
または、ページ設定 > ページのURLから変更し保存を押してください。
例)
https://ferret-one.com/●●●/reason
https://ferret-one.com/●●●/service
※キャプチャは旧契約画面になります
<設定 > 基本設定 > アイコン選択>
既存サイトの配下(ディレクトリ)にferret Oneを設定する場合、サイト左上のロゴのURL設定は、
設定 > 基本設定 > アイコン選択から行う必要があります。
■アイコン選択の詳細はこちら
>【画面説明】設定/基本設定 アイコン選択
<サイトマップについて>
ferret Oneで作成いただき、公開したページ・ブログのサイトマップを作成することができます。
Googleが提供しているサーチコンソールに登録する場合、下記、ヘルプページから設定をお願いします。
以上で設定は完了となります。