We upload your large images directly to our image servers not hosted on our domain to reduce the load on our servers. Because of this we found customers that are having issues uploading large files usually have computers blocking CORS (Cross-Origin Resource Sharing) preflight "OPTIONS" requests. Most older web safe software used to look at cross-domain requests as dangerous and usually blocked the requests all together. Now modern browsers do whats called a pre-flight request to the other domain before sending the actual payload. This pre-flight request uses the OPTIONS request unlike a GET, POST, or PUT. The pre-flight request is equivalent to your browser asking the server if the request it is about to make is expected behavior and waits for a reply. If the reply is successful then the payload is sent. In our case it is the image which is sent in chunks.
In our experience usually the culprit seems to be older Cisco AnyConnect VPN client software using the Web security module. Our research into the matter found that there is a bug in the AnyConnect software prior to 3.1. The AnyConnect software may also encounter issues for users that upgrade their operating systems without updating the VPN software. If you are a Mac user checking if you have AnyConnect can be done by using Spotlight and searching for AnyConnect. We recommend uninstalling and trying your upload. If it works after uninstalling you many want to get a new version from Cisco or your System Administrator. We found disabling the software or exiting still doesn't help b/c there is a background process that stays running when your computer is booted. If you find you do not have AnyConnect software installed, but still want to check if your computer is blocking OPTIONS requests you can do the following:
- Open Terminal under Applications -> Utilities
- Run the following command:
curl -i -X OPTIONS http://cg-uploads.s3.amazonaws.com
If you receive the following message then it means your computer is blocking:
curl: (52) Empty reply from server
If you need help or would like our Technical Support team to help troubleshoot, please contact us.