Legacy Knowledge Base
Published Sep. 10, 2025

URL scheme must be "http" or "https" for CORS request

Written By

Kanchan Bisht

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

Legacy Article

You are viewing an article from our legacy "FastTrack" publication program, made available for informational purposes. Articles in this program were published without a requirement for independent editing or verification and are provided"as is" without guarantee.

Before using any information from this article, independently verify its suitability for your situation and project.

Issue

  • CORS errors "Failed to fetch" when accessing headless APIs through the API Explorer.

Environment

  • Liferay DXP 7.4 

Resolution

  • CORS issues arise from mismatches between the origin of the API request and the allowed origins configured in Liferay.
  • If the issue persists even after configuring CORS in Liferay and affects all APIs, the issue might be due to web server misconfiguration.
    • Web Server Configuration: When Liferay is behind a web server (like Apache or Nginx), ensure that the web server is properly configured to forward requests to the correct port and handle CORS headers.
    • Verify API Access Directly: Bypass the webserver temporarily and try accessing the APIs directly using the server's IP address and port. This helps isolate whether the web server is the source of the issue.
    • portal-ext.properties: Add or verify the following properties in your portal-ext.properties file. These properties ensure Liferay recognizes the correct host, protocol, and port when behind a proxy or load balancer:
      web.server.forwarded.host.enabled=true
      web.server.forwarded.protocol.enabled=true
      web.server.forwarded.port.enabled=true
      

Additional Information

Did this article resolve your issue ?

Legacy Knowledge Base