This topic describes the causes of errors returned with HTTP status code 404 and the solutions to these errors.

SymlinkTargetNotExist

  • Error message: The symlink target object does not exist.
  • Cause:
    • The error message returned because the object name is invalid.
    • The error message returned because the object to which the symbolic link points does not exist.
  • Solution:
    • Ensure that the object name complies with naming conventions.

      Object names must comply with the following conventions:

      • The name can contain only UTF-8 characters.
      • The name must be 1 to 1,023 bytes in length.
      • The name cannot start with a forward slash (/) or a backslash (\).
    • If the object specified in the request is a symbolic link, ensure that the object to which the symbolic link points exists.

NoSuchBucket

  • Error message: The specified bucket does not exist.
  • Cause: The error message returned because the bucket name does not comply with naming conventions.
  • Solution: Ensure that the bucket name complies with naming conventions.
    Bucket names must comply with the following conventions:
    • The name can contain only lowercase letters, numbers, and hyphens (-).
    • The name must start and end with a lowercase letter or digit.
    • The name must be 3 to 63 bytes in length.

NoSuchKey

  • Error message: The specified zone does not exist.
  • Cause:

    The client shows that the object is uploaded, but HTTP status code 404 is returned when you download the object.

    • The error message returned because the object name is invalid.
    • The error message returned because the object has been deleted based on lifecycle rules.

    HTTP status code 404 is returned when you download an existing object.

    • The error message returned because the object is deleted by an authorized user by using the OSS console, OSS clients, or API operations.
    • The error message returned because cross-region replication (CRR) is configured for the bucket. The delete operation was performed on the object of the same name in the other CRR bucket and was synchronized to the current bucket.
  • Solution:
    • Ensure that the object name complies with naming conventions.
      Object names must comply with the following conventions:
      • The name can contain only UTF-8 characters.
      • The name must be 1 to 1,023 bytes in length.
      • The name cannot start with a forward slash (/) or a backslash (\).
    • Check the lifecycle rules configured for the bucket to ensure that the object is not deleted based on the rules. For more information, see Configure lifecycle rules.
    • Ensure that the object is not deleted by other authorized users.
    • Check whether CRR is configured between the bucket and other buckets. If CRR is configured for the bucket, check whether the object specified in the request is stored in the source bucket.

NoSuchUpload

  • Error message: The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.
  • Cause:
    • The error message returned because the request ID is not returned to the client, that is, the object is not successfully uploaded.
    • The error message returned because only some parts but not the entire object is uploaded in multipart upload or resumable upload.
  • Solution:
    • If HTTP status code 404 is returned when you access an object that you upload, ensure that you have received a returned request ID after the upload.
    • For multipart or resumable uploads, ensure that HTTP status code 200 and the request ID is returned for the CompleteMultipartUpload operation. For more information, see InitiateMultipartUpload.