3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FileMaker Server の Data API で CORS 対応

3
Last updated at Posted at 2022-02-04

はじめに

対象読者

  • Claris FileMaker ユーザ
  • とりわけ Windows Server において FileMaker Server を用いて管理している

環境

  • Claris FileMaker Server 19.4.2
  • Windows Server 2016 Datacenter Edition

状況

  • 自前の WEB サイトから Data API を呼び出している
  • 自前の WEB サイトのドメインと FileMaker Server のドメインとが異なる
  • 上記の場合、CORS 対応が必要となる
  • Windows Server ( IIS ) 環境での CORS 対応がややしんどい、知らないと詰む

CORS とは?

ことのきっかけ

補足

  • この段については、どうしてこの記事を書くに到ったかの経緯説明です。読み飛ばしていただいても構いません

FileMaker Server の ver.up 時に……

  • FileMaker Server 19.4.1 → 19.4.2 への updater を実行してアップデートし、再起動した
  • その後、バグなのか何なのか、Admin Console へのログインができなくなる
    • パスワードが通らない
    • PIN 番号も通らない
    • 認証情報が全部吹っ飛んでいる……?

FileMaker Server を再インストール

  • 上記のため、いたしかたなく一度アンインストール → 再インストール
  • この時点で、そもそもこのサーバで CORS 対応をしていたという事実を、既存メンバーは誰一人として認識になかった……
    • 以前にこのサーバで CORS 対応をしていたメンバーが育休中……

WEB サーバ側で Data API が読めない!

  • 後日、問題が発覚。API 通信ができずに機能不全
  • Chrome の console を見ると CORS 問題のもよう……

対応法

IIS CORS Module のインストール

  • これが必須となる。以前に一度インストールされていたら不要
  • もし初めて CORS 対応を入れる場合にはインストールが必要
  • https://www.iis.net/downloads/microsoft/iis-cors-module
    • たまにこのページが開けなくなることがあるけれど、根気強くアクセスしていると、またアクセスできるようになる……

image.png

web.config への CORS 許可の追記

  • C:\Program Files\FileMaker\FileMaker Server\HTTPServer\conf に存在している
  • IIS のアプリケーションプールにある HTTP リクエストヘッダ付与あたりと連動しているので、IIS 側で設定を変えると自動で変更される。基本的には、あまり不用意に弄らない方が良い
  • 以下のように cors ブロックを </system.webServer> の手前の位置に追加。管理者権限でおこなう必要がある
web.config
    <security>
      <requestFiltering allowDoubleEscaping="true">
        <requestLimits maxAllowedContentLength="4294967295" />
      </requestFiltering>
    </security>
    <cors enabled="true" failUnlistedOrigins="true">
      <add origin="*">
        <allowHeaders allowAllRequestedHeaders="true" />
        <allowMethods>
          <add method="GET" />
          <add method="PATCH" />
          <add method="POST" />
          <add method="PUT" />
          <add method="DELETE" />
        </allowMethods>
      </add>
    </cors>
  </system.webServer>
</configuration>
  • FileMaker Server をアンインストール → 再インストールすると、この箇所の記述が消えます。ので、再度記述を挿入してあげる必要があります。いかにも忘れがち!

アプリケーションプールの再起動

  • 上記の追記と保存が完了したら IIS 上でアプリケーションプールの再起動をおこなえば、完了

おわりに

雑感

  • 公式ドキュメントに記載しておいて欲しいのですが……!

参考

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?