Nginx設定:ドメイン間要求を許可★最終的にOPTIONS 403エラーを解決

836 ワード

開発では、複数のドメイン名、複数のサービス、異なるドメイン名のリソースにアクセスしたり、異なるドメイン名のインタフェースを要求したりすることがよくあります.OPTIONS 403エラーを報告することがよくあります.この問題を解決するには、各プロジェクトのエントリファイルに、以下のコード(PHP)を加えることができます.
header("Access-Control-Allow-Origin:*");
header("Access-Control-Allow-Methods:GET, POST, OPTIONS");
header("Access-Control-Allow-Headers:*");

しかし、このような治標は根本的ではなく、各項目が追加されるのも面倒で、統一的なメンテナンス管理が難しいため、WebサーバNginxのソース設定からドメイン間で、location/{}に次のコードを追加することをお勧めします.
location / {  
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers '*';
    if ($request_method = 'OPTIONS') {
        return 204;
    }
} 

このように構成すれば、ドメイン間でサービスを要求することができ、OPTIONS握手要求は204の状態に戻り、POSTの継続要求を阻害しない.