mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-05 00:29:48 +03:00
secure image storage not working: images are not where expected #1051
Closed
opened 2026-02-04 23:35:20 +03:00 by OVERLORD
·
9 comments
No Branch/Tag Specified
development
l10n_development
further_theme_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
No Label
🐕 Support
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#1051
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @abossert on GitHub (Feb 20, 2019).
Describe the bug
I have turned on the secure image storage (STORAGE_TYPE=local_secure) and copied all of the contents of the $root/public/uploads/images to $root/storage/uploads/images as shown in the security instructions followed by a restart of the php-fpm service. I tried this once before with a "move" rather than a copy, but got the same results. When I copied the folder rather than moving it, I saw that existing images were still visible, but uploading new ones show no errors (I see a success message for the upload in the UI and also a successful POST in the Nginx access log, but there is a broken image link in the UI and an error as follows:
the end result is that with secure image storage, I am unable to access any images that have been uploaded...the errors seem to relate specifically to thumbnails (note the "thumbs-150-150" subdirectory), here is the SQL query that is supposedly inserting the image...from my browser developer console:
but the error message I am seeing in the logs shows:
When I do a filesystem search, I see that the file is where I would expect it to be (based on the secure storage setting) here:
So, what am I missing?...it seems like the application is still looking for the images in the orginal location rather than the new one.
For good measure, here is my .env file:
Steps To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expect images uploaded to be accessible just as before when secure image storage was not turned on.
Screenshots

Here is a screeshot...just in case my description is not as clear as I think it is.
Your Configuration (please complete the following information):
@ssddanbrown commented on GitHub (Feb 20, 2019):
Hi @abossert, Sorry to hear you are experiencing issues.
Are you seeing this in webserver logs or the application logs? Would you be able to provide the whole log message?
Just trying to get an idea of whether your currently requests are even hitting the application or if they're directly being served by nginx.
@abossert commented on GitHub (Feb 20, 2019):
Those errors are in the nginx log...here is a full set of errors:
The application logs don't seem to have anything in them...
@ssddanbrown commented on GitHub (Feb 20, 2019):
@abossert Thanks, It possibly looks like nginx is fully handling the request, and the request is never hitting the app itself. Are you able to post your nginx config at all?
@abossert commented on GitHub (Feb 20, 2019):
Here is the nginx config:
and here is the bookstack portion:
@ssddanbrown commented on GitHub (Feb 21, 2019):
@abossert The image requests may be getting caught by the last matching block:
Can you, at least temporarily, remove this block and see if that enables the images to work as expected?
@abossert commented on GitHub (Feb 21, 2019):
YES!!! That did it...So, the big question is: is that block really necessary?
@ssddanbrown commented on GitHub (Feb 21, 2019):
@abossert Awesome!
No, the block isn't strictly necessary but it does add caching to images which can benefit load performance and it prevents image requests filling up the access log.
Not tested this but you might be able to alter that block to the following to keep the benefits:
@abossert commented on GitHub (Feb 21, 2019):
That seems to work just fine...Thanks again!
@ssddanbrown commented on GitHub (Feb 21, 2019):
Great, I'll close this off now since it seems to be resolved.