Image from subfolder is not loading after upgrading Lucee to 5.3.8.206

Recently, I have upgraded Lucee to 5.3.8.206 and then after the images from subfolder is not loading while surfing the websites. All images are in jpg format.

OS: Windows Server 2016
Java Version: 1.8.0_144 (Oracle Corporation) 64bit
Tomcat Version: Apache Tomcat/8.5.50
Lucee Version: 5.3.8.206

If we browse the image directly on browser we are seeing below error message. These images are on the server but not showing on the web site.

firstly, update your java, that version is so old it can almost legally drink in the US!

Can you describe your webserver config or are you just using tomcat?

Lucee mappings only apply to cfm & cfc’s

1 Like

An example of an image URL is
/uniseals/photos/UK_Uniseals/U018-UK-Uniseal-5-Pack.jpg

which seems pretty straight forward. As long as there’s no URL rewrites getting in the way, the image should completely bypass Lucee and get served by Tomcat’s default servlet. The first thing I’d do is enable Tomcat’s access logging valve and verify what URL is hitting Tomcat and that the web server in front isn’t rewriting it. Second, verify what Tomcat host is getting hit (are you using mod cfml?) and confirm the correct doc root is set in Tomcat. Actually, now that I think about it-- why is Tomcat getting hit at all. Depending on how you have your web server setup, usually the reverse proxy only proxies cfm or cfc requests. Perhaps that is what changed? It’s hard to say with so many possibilities and not knowing how you had any of this working before.

Start by filling us in on

  • Are you using a web server like IIS, Apache, or Nginx?
  • If so, how is that web server proxying traffic to Lucee? (can you show the actual config for this?)
  • Are you using mod_cfml?
  • Did your server previously use virtual directories or rewrites to load images?
  • Did you look to see if that actual image path exists on disk inside the web root?

Patched recently huh?

Make sure max paths are enabled
Make sure 8dot3 naming is disabled
Make sure that the files in your webroot are owned by SYSTEM and everyone (local only)
Make sure what ever user you are running Lucee as,has permission on the local system.

I am using IIS and Windows Server 2016.
There is no proxy configured in our server and no traffic is being blocked for https and http.
We are using Boncode AJP 1.3 Connector.
There is no virtual directory or rewrite rules to load the images.
Yes, all images are actually showing on disk with correct path.

Finally, the issue is fixed now.

It looks like newer version of Boncode connector was configured a “wildcard” handler mapping in IIS that told IIS to pass ALL requests onto the Lucee\Tomcat engine for serving.

Changed handler mapping from “" to ".cfml” fixed the issue.

Thanks to our data center support team who fixed it.

BonCode IS an AJP proxy for IIS. So you need to look at the proxy configuration like I said above to see why the requests were being sent to Tomcat in the first place.

I don’t believe this is related to a “new” version of Boncode. When you install BonCode, it asks you in the installation wizard if you want to configure the wildcard mapping if I recall. And like you said, this will send all traffic to Tomcat regardless of whether it’s a CFM page or a JPG. This is exactly what I was telling you to check above in my first reply.

I do remember back form when I used to use Lucee that the wildcard handler was installed by default and did cause this exact issue with everything being served by tomcat.
However it presumably was not installed here since the issue was not occurring prior to the update, so this would seem to confirm that the update did indeed update the connector and put the wildcard handler back. Although I didn’t think this could happen when installing lucee updates via the lucee admin?