I'm running into a strange error on mobile Safari with my iPhone 6 on iOS 11.3.1 and in the iOS simulator.

I have an Ionic application (PWA, not Cordova) that has been working just fine for months with a backend API built with Laravel (PHP). I have CORS configured on it and it works fine.

I've just tried to implement a new feature where I upload an image and it breaks only on mobile Safari.

I see the `OPTIONS` request go through and it looks correct. In fact, the request/response look identical except for the `User-Agent` from desktop Safari which works.

On desktop Safari this is followed up by a `POST` which succeeds.

On mobile Safari the `POST` does not even attempt to go out, instead, I get a message `Failed to load resource: Origin https://upload.geekity.com is not allowed by Access-Control-Allow-Origin.` despite the `OPTIONS` request returning `https://upload.geekity.com` for `Access-Control-Allow-Origin`.

Here are screenshots of web inspector for both `OPTIONS` and `POST` on desktop and mobile safari.

![Desktop Safari OPTIONS](https://i.stack.imgur.com/WULNs.png)
![Desktop Safari POST](https://i.stack.imgur.com/8EoLr.png)
![iOS Safari OPTIONS](https://i.stack.imgur.com/aCuzy.png)
![iOS Safari POST](https://i.stack.imgur.com/Utl2P.png)

You can look at the source here: [image-upload](https://github.com/geekitycom/image-upload).

I really have no idea what could be happening here to make this fail in this way.