ColdFusion 2023 fails with 500.0 error when run via IIS.
I have just installed CF2023 developer on a new Windows 11 Pro system. I went through the steps to install the isapi handlers just as I’ve done in the past, and as far as I can tell, the installations went well. CF applications are running fine when invoked using the CF built-in server (localhost:8500), but fail with a 500.0 status when using IIS. I tried installing IIS’s “failed request tracking”, but although the 500 error is logged in the IIS logs, nothing is logged in the failed request logs. This sounds like an IIS install issue, rather than CF, but I have no idea what to check/reinstall/correct. Any suggestions would be welcomed.
I should remind you guys of something like this.
The IIS of Windows Non-Server Editions only supports single-thread (the max concurrency is one).
If you mean to set up a local server for the public, I strongly recommend you to migrate to Apache or Nginx.
They are open source, free, versatile and mature.
Much better than IIS.
Don’t use IIS!!! You’ll regret!
Steven, while it’s true that IIS on server editions of Windows have no concurrent request limits, things are not quite as bad as you say.
First, it’s not that non-server editions are limited to only 1 concurrent request. It’s 3 for home and 10 for pro (at least as of windows 10 and going back to Vista) per this windows doc:
https://learn.microsoft.com/en-us/iis/troubleshoot/request-restrictions
But before anyone may lament or snark about that even 3 (or 10) is still terribly limiting, note a couple of important things.
First, it would seem unusual that someone running cf on a non-server windows would expect to be getting high load.
But even if so, if cf processes requests fast, they might process even dozens of requests per second and not exceed that limit. (I do appreciate that iis would be serving more than just cfml files, like images, js, css, etc. But again those are usually served very fast, being static–and can even be cached by iis.)
But perhaps more compelling to hear, this IIS limit is not per server but per app pool, or more specifically per worker process (instance of an app pool). And by default, each site gets its own app pool since iis 7. Better still, one can configure a pool to have multiple worker processes.
FWIW, I share more about all this in a post from 2011, which may be as valuable now (for some folks) as then:
https://www.carehart.org/blog/2011/2/2/iis_request_execution_limits
All that said, I appreciate that Steven just wants people to know of such limits in things and avaliable alternatives. There are always such alternatives. 🙂
Hope that’s helpful.
Hi, Charlie.
I remember, in 2003, and we were both young. I was studying in my middle school. My teacher asked me to develop a vote system for our class. And thus we can vote for the monitor of our class. But things became bad.
On that time we were using Windows XP, and I chose CF to realize this software. Cloud computing didn’t appear in those days and hosting service was too slow for me to apply for. Because all the domestic websites and webmasters should volumn to the government.
Unfortunately, it crashed. that error occurs to me when I installed CF on IIS and I put the server at home (I knew it could hurt my hard drives). There are 50 students in our class. And it had to handle more than 50 connections on a same moment.
I felt I was a dumb. And on the same time, that computer room was required for another teacher. And the two teachers started to argue. This made our teacher angry and disappointed to me. The system was still rejecting for the other users more than the limit.
And before, the other classmate made a voting system by TCP and socket programming with a very stupid programming language called E, which is coded by Chinese language, and It runs Client/Server mode. And it is similar to Sketch in the current and modern era, which is the toy programming language for children and kids.
Eventually my teacher said to that classmate and being implictly ironical to me, “You don’t always use your heart, even you always do better than Steven.”
I was hurt and made unconfident and inferior for so long. So I don’t use IIS.
After a very long time. I’ve found that what I have is the best if I could take a little change or look further.
Especially, what I want to convey to you now is like what Mariah Carey sings in the song, “Nothing can compare to your first true love.”.
CF is my first love, and it’s really special, different and worth missing than other softwares. Bosses of smaller-scale firms always put the benifits first and they need to adopt free and open-source softwares. But though there are so many alternatives, the only place of Coldfusion in my heart cannot be replaced. That’s one of the places that I grew up. It’s full of the memory of my life and youth.
Just share a story to you.
Well, that certainly could explain a distaste for iis–but just as you have felt love for cf I hope my clarification may temper your disdain toward iis. Millions of sites are served using it, so it doesn’t deserve to be dismissed entirely any more than cf does. 🙂
BTW, you refer to 2003 as “when we were both young”–bur while you may have been in middle school them, I was in fact “middle-aged” so I don’t get to share that appelation.
But I do certainly share your fondness for cf, having started working with it in ’97 (after my first IT career as a mainframe server administrator), and I’ve never regretted committing to it these decades later.
I hope I am not deviating from the subject of this forum. If not allowed, the administrator might delete it.
“Middle-aged” men are young men. So it’s proper when I talked about “when we were young”.
Middle-aged young men can still do anything you want to do.
It’s the best age.
It’s uncertain to define “Young men” as those who are students and green to the society.
There is a proverb in our country, “Men of 40 are flowers.”.
Steven, I think it was clear that I was responding to your saying you were in middle school in 2003, if I was reading you right. I merely quipped about my being middle aged then as a play on your words–but also to clarify that I wasn’t as young then as you, since you said we were “both young”.
I was saying that for the sake of other readers, rather than as a comment on whether being middle-aged could also be young in the eyes of some. 🙂 Let’s let it be, at that, as indeed this is getting quite off-topic.
I’m not the “list police”, and I don’t work for Adobe, but I do feel comfortable in a coaching/referee role while helping in the forums and this portal, as Adobe has granted me (and others) the “community expert” moniker, with some extra moderating privileges. As always, I just want to help folks.
I don’t know if there’s a gap of cultural difference between us. If it do has, please forgive me.
And I’m a middle-aged man now. I think I’m very satisfied and being very optimisic with good anticipation of my future even I’d achieve an age like you. And that’s different from the “me” quite long ago.
As we all know, the Great Firewall blocked much international communication for the sake of national security. I seldom have chances to talk to the world. The p**ice could be rude and unreasonable. I know because once I was almost arrested since I teased my neighbour’s puppy were ugly. I was treated so rudely. I didn’t disobey any law. So I don’t dare to use VPN, although my colleagues often watch YouTube.
I won’t give up any chance to connect to world. And the chances are tend to be mere and mere. Maybe I felt too excited and neglected your feelings.
I don’t know if I were able to help folks. But I try my best and I like to discuss about technical or other topics to you guys. I’m a fans of forums from my teenager until now.
And I appreciate you all.
Let it be! Otherwise, we are really off-topic.
If you can’t see me again, this website must be blocked.
First, have you confirmed that the 500 error that iis shows isn’t a cf error (whether due to code or config), that may be logged in cf’s logs? Check first the application.log, the exception.log, the coldfusion-out.log, and/or the coldfusion-error.log. Such errors would not show up in iis or frt. (BTW, when you say “nothing” is logged in the frt logs, do you mean no info on this error? Or no frt log for the request at all? The latter could have many different explanation–having nothing to do with CF.)
If the CF logs show nothing, please confirm if you are running the same code in the test of iis vs cf. You can also try creating a new folder in the iis web root, with a blank application.cfc (or cfm) and a blank test.cfm or with minimal cfml. Does THAT run without an error? If so, it confirms the error was in your code or the application.cfc/cfm it was implicitly running.
Finally, what’s your reasoning for manually configuring things? Why not use the cf wsconfig tool? Indeed, there is more than just adding “isapi handlers”: there are handler mappings, an isapi filter, and a jakarta virtual directory, and all those should point to a folder (typically a numbered one within cf’s config/wsconfig directory). The wsconfig tool does all this.
And the tool knows to point a key entry in the workers.propertires file at a port configured in the server.xml file in cf’s cfusion/runtime/conf.
When you do all this manually, you open yourself to making any of many possible mistakes. Thus my question.
Indeed, if you may have “just copied” the config folder from some previous cf version, that wouldn’t work typically.
If none of the above helps, there are potentially many remaining possible explanations for your error. This is already long enough. Let us know if any of these help or not.
You must be logged in to post a comment.