It's been two days since I have been working on generating a custom URL to access cloud storage private contents.
- I have created CDN and load balancer to access the bucket.
 - I have a CDN IP address to access the files.
 
When I grant a file in storage bucket as public I can able to access using CDN IP. Example:
https://<CDN IP Address>/filename.pdf
Since all are confidential files I can not make the file as public in my storage bucket, so I wanted to use custom signed URL and signed cookies to generate custom signed URL. I am following htafoya answer to generate a custom URL link. While doing so I am confused about the URL part.
Which URL is should use? Is it https://<CDN IP Address>/filename.pdf and followed by ?Expires=1600316057&KeyName=demo-key&Signature=jxkWfkEZ_Jl6OKP83Cf13U-gy-e? I am getting an error 403 by using the mentioned URL. Does anybody have an idea of how to generate a custom signed URL using node js?
Update
- I can able to fix it by recreating everything.
 - It is working only for one file. When trying to access the remaining files browser is throwing 
403. 
Update 1
I found the problem why it is not working:
- If any file name contains space, CDN is throwing a 
403permission issue error. 
Example:
Working: https://<CDN IP Address>/filename.pdf?Expires=1600316057&KeyName=demo-key&Signature=jxkWfkEZ_Jl6OKP83Cf13U-gy-e
Not Working:https://<CDN IP Address>/network architecture.pdf?Expires=1600316057&KeyName=demo-key&Signature=jxkWfkEZ_Jl6OKP83Cf13U-gy-e
Does anyone have any idea on how to resolve this?