Trouble getting iisnode and websockets working - asp.net

I am just trying to get node and websockets running alongside an ASP.NET MVC project.
I am running on Server 2012, IIS8, latest node.js and iisnode. Websockets are enabled for IIS and .NET 4.0 MVC project runs fine. Also, I can run websockets on node independent of IIS just fine (on a separate port).
I downloaded the faye websocket and the dante example project and installed it.
When I do not have websockets disabled, I get
Unable to establish WebSocket connection to ws://localhost/dante/server.js
When I disable websockets, whether in dante or wwwroot, I get
This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".
I tried to specify overrideMode="Allow" in the wwwroot webconfig and that didn't seem to work.
I have also tried removing the wwwroot web.config and it seems to make no difference. I also tried turning off the firewall on the server (just for kicks) and that didn't change anything.
Thanks for any help and assistance. I am open to using anything (socket.io, for example) but would like to keep running ASP.NET MVC and node on the same port to eliminate firewall issues and prevent having to use multiple servers/domains/etc.
EDIT:
Running
c:\windows\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/webSocket
Made the IIS error go away, but now I still receive this:
Unable to establish WebSocket connection to ws://localhost/dante/server.js/ws
WebSocket connection is closed.
I've opened an issue here.
EDIT 2: I had installed iisnode from the Web Platform Installer. Apparently, the version from WebPI is old. I needed to get the latest from the github site here under Installing for IIS 7.x/8.x. Once I installed the latest version, IT WORKS!
This is fantastic! Thanks to tjanczuk! :)

iisnode added support for websockets starting from version 0.2.0. Make sure you install the latest iisnode using links from https://github.com/tjanczuk/iisnode.

Related

Local Host redirected you too many times Issue with IIS

I am working on bringing a working web application onto a new computer running Visual Studio 2022 version 17.4.2 and .NET Framework 4.7.2. When running on local IIS (version 10.0) host there is a "local host redirected you too many times" issue. It suggests clearing cookies which has been done with no effect.
The same code works on other machines with no issues. Is there anything in IIS set up/configuration or that may be missing from Visual Studio or other installations? Thanks in advance.
So far we have tried debugging the code and including breakpoints for where the issue may be occurring, ensuring that the installations of windows feature and IIS management is the same as another where the program is working. Also created a .txt file that can be reached on local host and is in same location as the rest of the project.
Here are a few things you can try:
Try on another machine.
Try to remove as much rules as possible from web.config and keys and so on. Or if it's a single page you're having the error with try to remove as much code from it especially if there are redirect codes. And add breakpoints and debug.
Check the LOCAL application pool version if it's set same as the online .net framework version.

Error: "The configuration section 'system.webServer/management/delegation' cannot be read because it is missing schema

I am trying to publish a website from my computer to an IIS web server via web deploy.
I have 3 servers. All servers have installed the same things (Webdeploy etc.) and the services are started (Web Deployment Agent Service and Web Management Service).
On the first server I have no problems on connecting. But the other two servers give me some error when I "Validate Connection" in Visual Studio to the IIS. When I look at the logs on the IIS server, there are my accesses listet with html code 200 (ok).
An error ocurred when the request was processed on the remote computer. Filename: MACHINE/WEBROOT
Error: The configuration section 'system.webServer/management/delegation' cannot be read because it is missing schema
I really have no idea what could solve this problem and hope you are able to help me.
I had the exact same problem, it turned out I had installed Web Deploy 3.6 on top of 3.5. Remove Web Deploy 3.6 and reinstall 3.5 and see if it solves your issue.
You can also try #james-wilkins comment below: "In my case I installed Web Deploy BEFORE installing the management service..."
Uninstall and then re-install Web Deploy.
This fixed the problem for me -- the 'repair' option in the installer did not.
In my case, I installed Web Deploy BEFORE installing the management service. I tried to do a "change" on the install to include the management service (or you can add the feature from add/remove windows features), but that didn't help (got the error on this post). In the end, a simple uninstall and reinstall of 3.6 was what worked for me. Seems it needs the Web Management Service to be installed FIRST. Typical MS instructions don't even mention this at all.

Visual Studio Debug says Unable to launch IIS Express Web server (failed to register localhost:443)

I am using VS2012, .NET 4.5. I just downloaded NuGetGalary from github and trying to build and run the Web application of it.
I am using IIS Express with project Url http://localhost:8081
But when I launch the project, I get the following error message
What could be wrong ?
Silly reason,
I used this Microsoft Support Article to find out what was wrong. Turned out it was VMWare Workstation Server service holding up the 443 port. I stopped the service and now project launches fine.
Since I can't add comments yet, I put my thoughts here.
Since you launch the site on "localhost:8081", and it can't be launched because of port 443 being used, it's probably that inside the solution, some service is started, and by default is running on 443.
Your solution consisted of stopping the app "VMWare Workstation Server" which seemed to be using the same port. This might not always be possible, depending the type of app using the port.
What you could also have done (maybe), is configuring the project/service (inside Visual Studio) to use another port than 443.
You can usually find this element in the project properties.

404.17 error - requested content appears to be script

I have a similar question to this one;
IIS 7.5
Server 2008
ASP.Net 4.0 web site
The error I get when trying to run the site is this:
HTTP Error 404.17 - Not Found
The requested content appears to be script and will not be served by the static file handler.
...
Most likely causes:
The request matched a wildcard mime map. The request is mapped to the static file handler. If there were different pre-conditions, the request will map to a different hander.
Now here comes the weird part:
THE WEIRD PART
The weird part is that on the develop server -- which is similar in every aspect to the production server -- everything runs smoothly.
Here's a list of things I cannot try, because I don't want to mess with the sever (it hosts many other sites):
Reinstalling .Net
Reinstalling IIS
Reinstalling anything
Running aspnet_regiis
Here's what I did try:
Republishing the site
Restarting the application pool
Changing the application pool to .Net 2.0 and back to .Net 4.0
Switching around between Integrated and Classic pipeline mode
Enabling 32-bit mode
Taking a look at Handler Mappings
Eventually I created a new application pool, and it sort of started working.
Q) "Sort of"?
A) Yes, sort of.
Now the site only works when the (new) app pool is set to .Net 4.0, Integrated,
and the site's Authentication has ASP.NET Impersonation set to Disabled.
Any change to these settings sets the server yelping "404.17" all over again.
Q) What's wrong with that?
A) What's wrong with that is that I NEED ASP.NET Impersonation for the site to function properly.
As always, your guidance is most needed.
HTTP Error 404.17 - Not Found
The requested content appears to be script and will not be served by the static file handler.
Usually this error occurs when you have the right IIS version installed to the respective .net framework. If it was a version (not installed) issue then you would have got a different error message. Anyways, I think by now you have resolved your matter, but I like to share some words with anyone else having this problem. These error messages gave me so much headache all last week and I had tried everything.
Best remedy is always to re install the latest .net in latest visual studio. And the important thing to do is uninstall the existing IIS(express or whichever you have) and re install it first. Then download the latest visual studio. This way visual studio installation can easily access you IIS and add the necessary application pool.
As for the error 404.17, it could simply be because the right application pool has not been assigned for the appropriate dot net version. If the right version is not there re installing visual studio is the only way I know. Also, I think you can try downloading another version of the Visual Studio too. For eg, download the ultimate if you have professional or vice versa. Hope this helps someone with similar problem.
Installing this windows server feature http activation is, what was missing for me.

Calling LoadLibraryEx on ISAPI filter

Hi we have configured IIS with helicon and webgate.
when I am accessing my site I am finding Following Error message on page
HTTP Error 500.0 - Internal Server Error
Calling LoadLibraryEx on ISAPI filter "C:\Appl\Softwares\Webgate\access\oblix\apps\webgate\bin\webgate.dll" failedror
Please help.
My configuration as my other environment where all the things are working.
Yesterday, while setting up a website on IIS 7 and Windows Server 2008, I loaded up the website in the browser and ended up getting the following error message:
Calling LoadLibraryEx on ISAPI filter C:\…isapi.dll failed
The path was to the isapi.dll file in C:\Program Files\etc and I was pretty sure everything was setup properly. After doing a bit of research on the topic, I figured out that since I’m running IIS 7 on a 64-bit version of Windows Server and my web application was 32-bit, I had to change a setting in the IIS configuration.
To fix this problem, all you have to do is open IIS7 and click on Application Pools.
Then right-click on the application pool for your website or the default application pool and go to the Advanced Settings tab. Make sure that Enable 32-bit applications is set to True.
That’s it! Now restart IIS and load up Internet Explorer again and your website should load fine.
I received the same error after installing .NET 1.1.
After uninstalling .NET 1.1 I still had the same error.
However, the error has gone immediately after I went to IIS Manager -> ISAPI filters and removed the only filter from here (it was ASP.NET_4.0.30319.0).
This error might be because of the following reasons. Those are:
webgate installation folder has restricted permissions. Give required permissions for the webgate installation and configuration folder for the IIS process which runs your website. (Had you run configuration script for webgate or just manually configured it?)
There may be other DLLs missing on which webgate is dependent. For example, VC++ runtime redistributables. (For 10g use 2005 version, for 11g use 2012 version).
Some internal files are missing for webgate. Try re-installing webgate and running config script.

Resources