As described inAdding CORS support to
ESP,
you can configure theExtensible Service Proxy
(ESP)to support CORS.
If the ESP options don't provide the CORS support that your
application requires, you can add the CORS options to ESP's configuration file,nginx.conf.
Adding the CORS options tonginx.conf
To add the CORS options:
Start with anginx.conffile that contains the configuration required by
Cloud Endpoints. You can start with thesamplenginx.conf,
or if you have already deployed ESP, you can SSH to the ESP container and
copy thenginx.conffile from the/etc/nginx/endpoints/directory.
Add the CORS options that your application requires tonginx.conf. You can
use theCORS on NGINXexample
as a starting point.
Start ESP with the--nginx_configoption with the path to the customnginx.conffile.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[[["\u003cp\u003eYou can configure the Extensible Service Proxy (ESP) to support CORS, as described in the documentation for adding CORS support to ESP.\u003c/p\u003e\n"],["\u003cp\u003eIf ESP options don't meet your application's CORS needs, you can customize CORS by adding options directly to ESP's \u003ccode\u003enginx.conf\u003c/code\u003e configuration file.\u003c/p\u003e\n"],["\u003cp\u003eTo add custom CORS options, begin with a \u003ccode\u003enginx.conf\u003c/code\u003e file required by Cloud Endpoints, such as the sample one, or by retrieving it from a deployed ESP container.\u003c/p\u003e\n"],["\u003cp\u003eAfter adding your custom CORS settings to \u003ccode\u003enginx.conf\u003c/code\u003e, start ESP using the \u003ccode\u003e--nginx_config\u003c/code\u003e option, pointing to your modified configuration file.\u003c/p\u003e\n"]]],[],null,["# Creating a Custom nginx.conf to Support CORS\n\nOpenAPI \\| [gRPC](/endpoints/docs/grpc/custom-cors-nginx \"View this page for the Cloud Endpoints gRPC docs\")\n\n\u003cbr /\u003e\n\nAs described in [Adding CORS support to\nESP](/endpoints/docs/openapi/specify-proxy-startup-options#adding_cors_support_to_esp),\nyou can configure the [Extensible Service Proxy\n(ESP)](/endpoints/docs/openapi/glossary#extensible_service_proxy) to support CORS.\nIf the ESP options don't provide the CORS support that your\napplication requires, you can add the CORS options to ESP's configuration file,\n`nginx.conf`.\n\nAdding the CORS options to `nginx.conf`\n---------------------------------------\n\nTo add the CORS options:\n\n1. Start with a `nginx.conf` file that contains the configuration required by\n Cloud Endpoints. You can start with the [sample\n `nginx.conf`](https://github.com/GoogleCloudPlatform/endpoints-samples/blob/master/k8s/nginx.conf),\n or if you have already deployed ESP, you can SSH to the ESP container and\n copy the `nginx.conf` file from the `/etc/nginx/endpoints/` directory.\n\n2. Add the CORS options that your application requires to `nginx.conf`. You can\n use the [CORS on NGINX](https://enable-cors.org/server_nginx.html) example\n as a starting point.\n\n3. Start ESP with the `--nginx_config` option with the path to the custom\n `nginx.conf` file.\n\nWhat's next\n-----------\n\n- Learn about [ESP's startup options](/endpoints/docs/openapi/specify-proxy-startup-options).\n\n- Learn how to [SSH to ESP's container on GKE](/endpoints/docs/openapi/troubleshoot-gke-deployment#checking_configuration_files).\n\n- Learn about [using a custom nginx.conf on GKE](/endpoints/docs/openapi/custom-nginx)."]]