title: How to fix iOS 12 Safari Cors preflight error?
body: <p>I am trying to understand CORs a little better as several users of our web app are complaining since they upgraded to iOS 12 they are receiving preflight errors.</p>
  
  <p>The errors from the web inspector</p>
  
  <pre><code>[Error] Preflight response is not successful
  [Error] Fetch API cannot load https://www.api.com due to access control checks.
  [Error] Failed to load resource: Preflight response is not successful (v4, line 0)
  </code></pre>
  
  <p>The client app is a React app with Apollo. It calls a server over HTTPS with Apache HTTPD and Express JS.</p>
  
  <p>Everything works fine on all other browsers, this is isolated to iOS 12.</p>
  
  <p>Whats weird is when I look through the HTTPD access logs, I can't see any preflight calls. When I try hit the server directly (on iOS 12), I see both the preflight OPTIONS request and POST in the logs. But when calling the server through the web app, the CORs preflight fails.</p>
  
  <p>In the express app, I also logged out all requests, and it doesn't appear there either.</p>
  
  <p>In HTTPD I have the settings of </p>
  
  <pre><code>Header set Access-Control-Allow-Origin "*"
  Header set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS
  </code></pre>
  
  <p>In express I have the same thing.</p>
  
  <p>Any ideas?!</p>