My Featured Images goes to 404

I am running on ghost 3.38.3 and my package.json file consists the following configuration.

"config": {
    "posts_per_page": 25,
    "image_sizes": {
        "xxs": {
            "width": 30
        "xs": {
            "width": 100
        "s": {
            "width": 300
        "m": {
            "width": 600
        "l": {
            "width": 1000
        "xl": {
            "width": 2000

When I update the featured image it gets updated and I can see it on my web server https://<>/content/images/2020/12/image-name.png

But when it is published, ghost calls the featured image from https://<>/content/images/size/w1000/2020/12/image-name.png

The specified folder structure is not there and gives 404 on the browser console. I am not sure what I am missing here. Your help is greatly appreciated.


What’s the url on package.josn ?
Do you mind sharing your url ?


What do you mean by the URL in package.json? I have the URL with https in my production config file. I am not able to share the URL as it can go against a non disclosure agreement :frowning:

Yes on production config file…
Its okay if you cant share the url…

check the url matches to the url on production config & your nginx or webserver config

1 Like

Yeah those are same. By debugging a bit I found out that the images created on Nov works fine. Since the folder name is 11. But for the posts created in December featured leads to 404. Checked folder and folder 12 is not created in size directory.
Also checked the permissions using ghost doctor and it says everything is ok.

Any thoughts @inoryum

Try creating a post with image & check if the image is storing or not… & also check for free space on your server

Original images are storing but the responsive images are not creating

Almost after a month I am writing back. I am still having the issue. :frowning:

I am having the same issue with Ghost version 3.41.4. Images are storing on the server, responsive images are not loading but returning a 404.

I am using Ghost with nginx proxied through Cloudflare. RocketLoader is disabled, auto minify is enabled. Interestingly, the browser is trying to load the image directly from https://my-site/300w, which seems incorrect. Shouldn’t the URL include a path to the required image?

It would be great if we could get any help on this issue.

I have the same issues as well. Trying to run docker as root, rootless, different directories and still paths are ok on edit post-pages, but “image 404 not found”.

Removed security from the proxy server and nothing changed.

Well, since no one else has responded to you, based off your symptoms my guess is that you have a permissions issue and that you missed this part.

# Set directory owner: Replace <user> with the name of your user
sudo chown <user>:<user> /var/www/sitename

# Set the correct permissions
sudo chmod 775 /var/www/sitename

Can you navigate to the /var/www/sitename directory and run ls -la for me and paste your output?

As for the Docker users, I imagine it’s a similar issue. Docker users can be kind of tricky.