Disable JSP functionality on CF2021 - coldfusion

We are using the same website to host CF and Confluence (confluence runs jsp) with a URL rewrite rule to redirect to a different port 8090 which works fine as long as the url does not have .jsp in it...
but if the url does have .jsp in it CF takes over and tries to process the page so we want to disable CF from taking over.
I read that you can disable JSP at least on CF 9 - https://www.3gpp2.org/cfdocs/htmldocs/Installing/WSf01dbd23413dda0e5753779b11fae614009-8000.html
by commenting out
<!-- <servlet-mapping> <servlet-name>JspLicenseServlet</servlet-name><url-pattern>*.jsp</url-pattern> </servlet-mapping> -->
in cf_root\WEB-INF\web.xml. But I can't find JspLicenseServlet in cf_root\WEB-INF\web.xml on CF 2021.

FWIW, I would recommend running Confluence on its own IIS site using a subdomain in order to avoid the conflict you're encountering. You should not have the CF connector assigned to every IIS site, just the one that is specifically running the CF application.
According to the CF documentation,
Disabling JSP functionality (server configuration only)
ColdFusion Enterprise Edition provides support for JavaServer Pages (JSP) technology through the underlying J2EE application server on which it runs. Because JSP code runs outside the realm of the ColdFusion security framework and, therefore, is not subject to ColdFusion sandbox security, you do not typically deploy JSPs in a shared, hosted environment where more than one customer shares a single server.
DISABLE JSP FUNCTIONALITY
Open cf_root/cfusion/runtime/conf/web.xml in a text editor.
Find the servlet-mapping entry for JspLicenseServlet.
Comment out this entry, as the following example shows:
# I feel this is missing some code
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
-->
Save and close the file.
Restart ColdFusion.

Related

ColdFusion 11 gives IIS 500.0 error when accessing a .cfc

We are testing our cf code (which all works fine on a CF9 Windows Server 2008 machine) for migration to a CF11 Windows 2012 R2 machine. We have a test machine setup and all the code moved over and so far the cfm pages seem to work fine as well as the Application.cfc page but when we call a cfc via AJAX or we visit the cfc methods directly we get an IIS 500.0 error Application could not be found. If I look in the application.log for CF all I see for the error is "Application could not be found. The specific sequence of files included or processed is: ""
Anybody else run into this?
We had the same problem. We upgraded the Java SE Runtime Environment to 1.8.0_91 from 1.8.0_66, restarted ColdFusion and it fixed the issue. Find your upgrade here:
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Renshi, (or for others finding this in the future), is the request which is failing one where your URL referred to a folder off your webroot called /api?
If so, then the error you got is due to a change in CF11 (update 11) which effectively made/api a "reserved url" for CF, in support of the REST services feature added in CF11.
You can implement a workaround to the problem (assuming you don't intend to use CF's REST feature in ANY CF app) by commenting out the few lines that refer to the "/api" servlet-mapping in CF's web.xml file. For more details, see this blog post:
http://chads-tech-blog.blogspot.com/2017/03/coldfusion-2016-broke-my-api-and-how-i.html

Post installation styles are missing on the sitecore login and content editor pages

I did an installation of sitecore on one of a dev server and copied over the site root folder to a bunch of dev machines. This process worked fine on 6 of the 7 machines and we can see the sitecore login and content editor pages fine and browse to the site through IIS.
On one of the machines on browsing to site / sitecore in the browser we are not seeing any of the styles come through. After logging in same is the case with the content editor.
I did a comparison of the web config on the server and one of the dev machines with the machine which has the issue and cannot spot any differences. Also did a comparison of IIS settings for the site on with the server IIS settings and couldn't find any difference.
Anyone has any suggestions on what could be wrong or what can be done next to troubleshoot the issue?
Using sitecore 6.5 on windows 7 as the dev machine.
FIXED: Went to IIS->sites->SiteName. On the right under IIS, Authentication. Right click Anonymous Authentication, make sure it is enabled and change the anonymous user identity to Application pool identity. Recycle app pool. Should be all set.
Looks like the "Static Content" feature isn't enabled for IIS. You can check it in the "Turn Windows features on or off", "Internet Information Services", "Worlds Wide Web Services", "Common HTTP Features".
If the feature is installed, check the issue with Fiddler - look at the status code and content that all .css requests return.

coldfusion web-inf\web.xml purpose

Im looking at using New Relic for monitoring our coldfusion sites. however it uses the web application display name defined in web.xml to define applications in its admin.
As far as I can work out coldfusion only have the one web.xml file in:
...\ColdFusion9\wwwroot\WEB-INF\web.xml
What is the purpose of this file? and can elements of it be overwritten on a site by site basis?
It looks like New Relic is a tool for monitoring Java (and other) apps. ColdFusion is a Java application. And the way you have it installed (standard) it is a single application with a single web.xml. Regardless of how many ColdFusion sites (apps) you run on it, it is still a single web application.
If you have CF Enterprise you can set up a multi-server install where you can deploy each of your sites as a separate Java app, but the way you have it set up now, you'll probably only be able to monitor CF as a whole vs each individual site.

Trying to browse to a new web root in ColdFusion 10

OK, the documentation says:
If you configure the folder containing FW/1 as a new web root and
browse to it, you'll see an introductory application.
So I created a new site in Windows Vista and pointed it to the Framework 1 bundle.
I've installed CF10, and am able to navigate to http://localhost:8500/CFIDE/administrator/
so I know that's working.
But when I navigate to http://localhost/, it gives me:
Error Summary
HTTP Error 500.0 - Internal Server Error
The page cannot be displayed because an internal server error has occurred.
Requested URL http://localhost:80/
Physical Path C:\inetpub\seancorfield-fw1-9e69741
And trying localhost:8500 goes to C:\ColdFusion10\cfusion\wwwroot
I wrote up a pretty detailed blog post here:
http://blog.bittersweetryan.com/2012/02/changing-webroot-of-coldfusion-zeus.html
It looks like you may not have updated your mapping to the WEB-INF and CFIDE folders.
If you installed it as the built in server then it will be 8500.
If you integrated into IIS then it will be port 80
You may just need to run the web connector tool, you will find it in the start menu.
If that doesnt work, you likely don't have the necessary bits of IIS installed.

How to publish a Web Service from Visual Studio into IIS?

I have written a WCF web service in C#. I had originally self-hosted it and then decided to host it on IIS running locally on my PC. While the service is working, there are several aspects of the deployment process that I don't understand:
Firstly, the URL of this service when hosted in IIS does not correspond to what I specified in my web.config. I had specified "http://localhost:8000/MyServices/OrderService" there and this was used when I self-hosted. Now that I've deployed to IIS, the URL has become "http://localhost/MyServices/OrderService". Why is the URL not picked up from my config file?
Secondly, to host the Web Service, I created a new web site within IIS (in addition to the existing 'Default Web Site'). I set the physical path to c:\inetpub\wwwroot (no idea if this is correct) and left the other parameters as default. I then copied my /bin folder, my .svc file and my web.config to this folder. Is this the equivalent of a 'Virtual Directory'?
Finally, the service didn't work until (within IIS) I selected 'Convert to application'. Why is it necessary to select 'Convert to application'?
Can anyone explain what the correct procedure is to publish a simple web service from Visual Studio into IIS, or point me at some good documentation so I can understand the process?
****EDIT TO ORIGINAL*****
Having spent more time looking into this, I have found the following:
When I create a web site in IIS, I give it a physical directory of c:\inetpub\wwwroot....etc
If I then "publish" from within Visual studio, all it's doing is copying all the required filed (like the /bin directory, web.config and .svc file) into the physical directory of the website i.e. - c:\inetpub\wwwroot...
You can perform the copy manually to the same affect.
Lastly, with regard to the URL of my service not corresponding to the baseAddress section of my web.config file, this has been answered on stackoverflow previously.
The answer is that the baseAddress is completely ignored when hosting on IIS.
If using Visual Studio 2010 you can right-click on the project for the service, and select properties. Then select the Web tab. Under the Servers section you can configure the URL. There is also a button to create the virtual directory.