FAQ

What is CORS?

CORS (Cross-Origin Resource Sharing) is a security feature implemented by web browsers to allow web applications running on one domain to request resources from another domain. In the case of S3 storage, CORS settings determine whether a web browser can access the resources (files) stored in an S3 bucket from a different origin (domain).

Why is it necessary to enable CORS for effective use with Stream Vessel?

Stream Vessel is an S3 explorer app designed to provide a user-friendly interface for interacting with S3 buckets and their contents. Enabling CORS on the S3 bucket is essential for Stream Vessel to function properly because it allows the app to make requests to the S3 bucket from the domain Stream Vessel's domain (https://app.streamvessel.com).

Without CORS enabled, modern web browsers will block requests made by Stream Vessel to the S3 bucket due to security restrictions.

By configuring CORS settings on the S3 bucket, you specify which domains are allowed to make requests to the bucket and what operations (such as GET, PUT, POST) are permitted from those domains. This ensures that Stream Vessel can securely access the S3 bucket's resources while maintaining proper security measures.

Stream Vessel can automatically manage CORS rules for your S3 buckets. By selecting the checkbox "Automatically apply CORS rules to the connection's buckets" on the connection parameters page, Stream Vessel will handle the CORS configuration for each connected bucket. If this checkbox is not checked, you will need to manually add CORS rules to their S3 buckets to ensure proper functionality with Stream Vessel.

Some S3-compatible providers do not support the S3 CORS API, and Stream Vessel cannot automatically read or update CORS rules for you. As a result, the CORS status column will always display 'Invalid or N/A'. In this scenario, users are required to manually configure the necessary CORS rules to ensure proper functionality.

While Stream Vessel may function correctly in some cases even without CORS settings, we highly recommend setting the appropriate CORS rules to ensure optimal performance and compatibility.

Please be aware that it may take up to 10 minutes for your storage provider to acknowledge and implement your new CORS settings.

Some providers may not offer the option to apply CORS rules for their buckets. However, it's important to note that for these specific providers, CORS functionality is not required for seamless operation within Stream Vessel. Therefore, if CORS status is displayed as "Invalid or N/A", it can indicate that CORS settings are unnecessary for the service provider in question, and Stream Vessel continues to function effectively without them.

If you encounter any difficulties with CORS, please reach out to us at [email protected]. Please provide the name of your storage provider and a detailed description of the issue.

What CORS rules do I need to apply if I set them up manually?

If your S3 storage provider is Amazon S3, please copy and paste the following rules in either JSON or XML format:

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST",
            "DELETE",
            "HEAD"
        ],
        "AllowedOrigins": [
            "https://app.streamvessel.com"
        ],
        "ExposeHeaders": [
            "ETag"
        ]
    }
]
<CORSConfiguration>
    <CORSRule>
        <AllowedOrigin>https://app.streamvessel.com</AllowedOrigin>
        <AllowedMethod>HEAD</AllowedMethod>
        <AllowedMethod>GET</AllowedMethod>
        <AllowedMethod>PUT</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>DELETE</AllowedMethod>
        <ExposeHeader>ETag</ExposeHeader>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

If your provider does not support JSON or XML CORS rules format, you can manually add those values in the web interface.

If your provider does not support anything else but allowed origin, then just add https://app.streamvessel.com as allowed origin.

Why does the CORS status remain "Invalid or N/A" even after pressing the "Apply CORS" button in connection window? Should I be concerned?

The "Invalid" status for CORS (Cross-Origin Resource Sharing) may persist even after attempting to apply CORS rules through the "Apply CORS" button within Stream Vessel. However, there's no need for concern if everything functions as expected. This status could indicate that CORS settings are not applicable or supported by your storage provider. In such cases, Stream Vessel operates smoothly without the need for CORS configurations. If your files are accessible and operations are successful despite the "Invalid or N/A" CORS status, you can safely ignore it, as it does not impact the functionality of your service.