I have Basic Auth enabled for the specific folder and anonymous disabled. I also have created users, however I get a "The page cannot be displayed because an internal server error has occurred." message on the browser. Here is the log from the failed request tracing. I have been looking at this for hours but not been able to solve it.
The same error triggers when I access any non existing page, for example http://144.144.144.144/adas
<failedRequest url="http://144.144.144.144:80/adas"
siteId="1"
appPoolId="DefaultAppPool"
processId="824"
verb="GET"
remoteUserName=""
userName=""
tokenUserName="NT AUTHORITY\IUSR"
authenticationType="anonymous"
activityId="{80000068-0002-FF00-B63F-84710C7967BB}"
failureReason="STATUS_CODE"
statusCode="500.19"
triggerStatusCode="500.19"
timeTaken="0"
xmlns:freb="http://schemas.microsoft.com/win/2006/06/iis/freb"
>
the log for the basic auth:
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type='text/xsl' href='freb.xsl'?>
<!-- saved from url=(0014)about:internet -->
<failedRequest url="http://144.144.144.144:80/admin/"
siteId="1"
appPoolId="DefaultAppPool"
processId="820"
verb="GET"
authenticationType="NOT_AVAILABLE" activityId="{8000000E-0002-FF00-B63F-84710C7967BB}"
failureReason="STATUS_CODE"
statusCode="500.19"
triggerStatusCode="500.19"
timeTaken="0"
xmlns:freb="http://schemas.microsoft.com/win/2006/06/iis/freb"
>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>1</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2016-09-29T15:24:04.662Z"/>
<Correlation ActivityID="{8000000E-0002-FF00-B63F-84710C7967BB}"/>
<Execution ProcessID="820" ThreadID="3756"/>
<Computer>OWNEROR-9DTV6I9</Computer>
</System>
<EventData>
<Data Name="ContextId">{8000000E-0002-FF00-B63F-84710C7967BB}</Data>
<Data Name="SiteId">1</Data>
<Data Name="AppPoolId">DefaultAppPool</Data>
<Data Name="ConnId">1610612749</Data>
<Data Name="RawConnId">0</Data>
<Data Name="RequestURL">http://144.144.144.144:80/admin/</Data>
<Data Name="RequestVerb">GET</Data>
</EventData>
<RenderingInfo Culture="el-GR">
<Opcode>GENERAL_REQUEST_START</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid>
</ExtendedTracingInfo>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>33</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2016-09-29T15:24:04.662Z"/>
<Correlation ActivityID="{8000000E-0002-FF00-B63F-84710C7967BB}"/>
<Execution ProcessID="820" ThreadID="3756"/>
<Computer>OWNEROR-9DTV6I9</Computer>
</System>
<EventData>
<Data Name="ContextId">{8000000E-0002-FF00-B63F-84710C7967BB}</Data>
<Data Name="HttpStatus">500</Data>
<Data Name="HttpSubStatus">19</Data>
<Data Name="FileNameOrURL"></Data>
</EventData>
<RenderingInfo Culture="el-GR">
<Opcode>GENERAL_SEND_CUSTOM_ERROR</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid>
</ExtendedTracingInfo>
</Event>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>0</Level>
<Opcode>2</Opcode>
<Keywords>0x0</Keywords>
<TimeCreated SystemTime="2016-09-29T15:24:04.662Z"/>
<Correlation ActivityID="{8000000E-0002-FF00-B63F-84710C7967BB}"/>
<Execution ProcessID="820" ThreadID="3756"/>
<Computer>OWNEROR-9DTV6I9</Computer>
</System>
<EventData>
<Data Name="ContextId">{8000000E-0002-FF00-B63F-84710C7967BB}</Data>
<Data Name="BytesSent">222</Data>
<Data Name="BytesReceived">466</Data>
<Data Name="HttpStatus">500</Data>
<Data Name="HttpSubStatus">19</Data>
</EventData>
<RenderingInfo Culture="el-GR">
<Opcode>GENERAL_REQUEST_END</Opcode>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{D42CF7EF-DE92-473E-8B6C-621EA663113A}</EventGuid>
</ExtendedTracingInfo>
</Event>
</failedRequest>
The server specs are: 64bit Windows 2012 R2 with IIS 8.5. Does someone know what is going on ? Thank you in advance.
it seems the following lines in web.config caused the trouble. still don't know why.
<httpErrors errorMode="DetailedLocalOnly">
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="C:\inetpub\wwwroot\notfound.htm" responseMode="File" />
</httpErrors>
I resolved the problem by deleting those four lines.
The error message itself should be "Absolute physical path ... is not allowed in system.webServer/httpErrors section in web.config file. Use relative path instead."
And that clearly tells both the cause and the solution. That value set to path must be a relative path.
You can check the reference below for example,
https://www.iis.net/configreference/system.webserver/httperrors/error
I ran into this issue myself and found that a "bad character" had crept into my file. My 500.19 error was telling me that the XML header itself, <?xml version="1.0" encoding="UTF-8" ?>, was causing the web.config to be "malformed XML".
Deleting the line in notepad and resaving fixed the issue, but why would the XML header cause a malformed XML error!? So I went back to Stash's Web UI to view the file to see if it had changed in source.
That was where I noted a red dot as the first character of the file, on the same line as the XML header. The red dot is usually a 'bad character', someone used an editor that allowed a character from outside the file's encoding or maybe a corrupted save. But what you end up with is an invisible character that breaks IIS when it goes to read your config!
SO, be careful not to throw the baby out with the bath water! It might not be what you SEE that's wrong.
In windows, a quick fix for bad characters is to use clipboard's "dumbness" (strictness) and do a Ctrl-A, Ctrl-C, delete the file, create an empty file with the same name, and Ctrl-V. Notepad works nicely with this as it won't try to "help" with additional interpretation when you paste back. This will effectively and quickly remove any "invisible" characters that Windows doesn't recognize, since the clipboard simply won't copy them!
Though untested, mismatched encoding values in the XML headers among your other .config files (machine.config, app.configs, etc.) might lead to this kind of an issue, too. It has been noted that IIS won't respect different encodings as it reads all the .configs together. Currently it defaults to UTF-8 (ASP NET 4), so if you change your XML encoding in your web.config for some reason, make sure your machine.config matches. I feel I should call out here that changing your encoding away from the default is risky, so don't do it if you can help it!
Related
I use ApplicationRequestRouting and UrlRewrite v7.1.1980 in IIS to create a reverse-proxy to our backend, but it returns 502.3 Bad Gateway:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="WWW Server" Guid="{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83}"/>
<EventID>0</EventID>
<Version>1</Version>
<Level>3</Level>
<Opcode>16</Opcode>
<Keywords>0x100</Keywords>
<TimeCreated SystemTime="2022-10-24T10:16:29.431Z"/>
<Correlation ActivityID="{80000011-0002-F900-B63F-84710C7967BB}"/>
<Execution ProcessID="6684" ThreadID="4080"/>
<Computer>Computer1</Computer>
</System>
<EventData>
<Data Name="ContextId">{80000011-0002-F900-B63F-84710C7967BB}</Data>
<Data Name="ModuleName">ApplicationRequestRouting</Data>
<Data Name="Notification">128</Data>
<Data Name="HttpStatus">502</Data>
<Data Name="HttpReason">Bad Gateway</Data>
<Data Name="HttpSubStatus">3</Data>
<Data Name="ErrorCode">2147954429</Data>
<Data Name="ConfigExceptionInfo"/>
</EventData>
<RenderingInfo Culture="en-US">
<Opcode>MODULE_SET_RESPONSE_ERROR_STATUS</Opcode>
<Keywords>
<Keyword>RequestNotifications</Keyword>
</Keywords>
<freb:Description Data="Notification">EXECUTE_REQUEST_HANDLER</freb:Description>
</RenderingInfo>
<ExtendedTracingInfo xmlns="http://schemas.microsoft.com/win/2004/08/events/trace">
<EventGuid>{002E91E3-E7AE-44AB-8E07-99230FFA6ADE}</EventGuid>
</ExtendedTracingInfo>
</Event>
However, when I log into the server with Remote Desktop and open our URL in the server's browser, it opens fine - so there is connectivity between our server and backend.
How can the browser "see" the URL but IIS claims it has no connection?
We found the issue. Inside of our ARR Cache config we had added a proxy server which had stopped responding. After removing the proxy server, it works again.
So I'm using dynamic links in my app and I have made that one activity handles several dynamic links, but the list is getting long and literally is just the last parameter that changes, which are numbers. So is there a way to reduce the list or I will have to just keep on adding more?
<activity
android:name="com.example.app.main.HNSPS1"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<!--Drinks-CoffeeShops-->
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/1/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/2/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/3/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/4/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/5/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/6/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/7/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/8/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/9/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/10/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/11/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/12/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/13/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/14/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/15/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/16/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/17/" />
<data android:host="myapp.page.link" android:scheme="https" android:path="/DrinksCoffeeShops/18/" />
...
</intent-filter>
</activity>
This is my android manifest and as you can see is just the last parameter "/1/" that changes for all the links. I'm planning on adding till like 50.
I finally figure it out and I will post what I did If someone is having the same question as me.
So since all the dynamic links have the same path just different numbers at the end, what I did was use android:pathPrefix instead of android:path and that way all the incoming links with the prefix /DrinksCoffeeShops/ will open the same activity regarless of the suffix, in this case the numbers at the end /#/
At the end my manifest look this way:
<activity
android:name="com.example.app.main.HNSPS1"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<!--Drinks-CoffeeShops-->
<data android:host="myapp.page.link" android:scheme="https" android:pathPrefix="/DrinksCoffeeShops/" />
...
</intent-filter>
</activity>
As you guys can see my manifest is much smaller and using more dynamic links is more convinient. Hope this helps.
I tried to reinstall iis on my windows 10 system through Control Panel\Programs and Features\ Turn Windows features on or off but after uninstalling it there is a problem with installing iis again.
Here are screenshots with all errors I'm facing at the moment:
In folder Windows/System32/inetsrv/config I recreated file named ApplicationHost.config
here is the configuration:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<system.applicationHost>
<applicationPools>
<add name="DefaultAppPool" />
<applicationPoolDefaults>
<processModel identityType="NetworkService" />
</applicationPoolDefaults>
</applicationPools>
<customMetadata />
<listenerAdapters>
<add name="http" />
</listenerAdapters>
<log>
<centralBinaryLogFile enabled="true" directory="%SystemDrive%\inetpub\logs\LogFiles" />
<centralW3CLogFile enabled="true" directory="%SystemDrive%\inetpub\logs\LogFiles" />
</log>
<sites>
<site name="Default Web Site" id="1">
<application path="/">
<virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%SystemDrive%\inetpub\logs\LogFiles" />
<traceFailedRequestsLogging directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles" />
</siteDefaults>
<applicationDefaults applicationPool="DefaultAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
<webLimits />
</system.applicationHost>
</configuration>
Does anyone had something like that before me and was able to run IIS again without reinstalling entire system from scratch?
If any information needed please do not hasitate to ask in comment section.
Thanks in advance :)
Thanks to #LexLi and links provided by him i was able to find out what caused the issue.
Main Link
Second one
And last which point the way to uninstall Windows Process Activation Service in Windows 10 pro not server one
Just to be sure I uninstalled:
Internet Information Services Hostable Web Core
I hope this answer would help someone in future.
Thanks again #LexLi for assistant.
Cheers!
This is a sample of my publisher setting:
<publishers>
<statistics />
<xmllogger logDir="F:\ccnet\Project\xxxxxx\Artifacts\buildlogs" />
<buildpublisher>
<sourceDir>$(buildDir)\_PublishedWebsites\$(projectName)</sourceDir>
<publishDir>$(webDir)</publishDir>
<useLabelSubDirectory>false</useLabelSubDirectory>
<alwaysPublish>false</alwaysPublish>
</buildpublisher>
<email mailport="25"
mailhostUsername="xxx#xx.xx"
mailhostPassword="xxxxxxxxx"
includeDetails="TRUE"
useSSL="FALSE">
<includeDetails>TRUE</includeDetails>
<from>xxxx#xx.xx</from>
<mailhost>xxxx.xxxx.xxx</mailhost>
<users>
<user name="Flemming" group="buildmaster" address="xx#xx.xxu" />
</users>
<groups>
<group name="buildmaster">
<notifications>
<notificationType>Always</notificationType>
</notifications>
</group>
</groups>
</email>
</publishers>
In webdashboard everything is fine. it shows all information from the standard xslt list.
After each build I get an email, but it only shows me information from header.xsl, unittest.xsl (shows no unit tests) and modification.xsl. But it doesn't show anything from compile.xsl.
xslfiles from ccnet.exe.config:
<xslFiles>
<file name="xsl\header.xsl"/>
<file name="xsl\compile.xsl"/>
<file name="xsl\msbuild.xsl"/>
<file name="xsl\modifications.xsl"/>
<!-- <file name="xsl\unittests.xsl"/>
<file name="xsl\fit.xsl"/>
<file name="xsl\fxcop-summary_1_36.xsl"/> -->
</xslFiles>
What am I missing here?
I tried to insert TRUE as well as having it as an attribute, but no difference.
I found the solution.
Instead of using compile.xsl in the xsllists I now use compile_msbuild.xsl
Now I get all errors and warnings in the mails !!!
From CCNET's EmailPublisher documentation:
Make sure that all of the Merge Publishers, along with the Xml Log Publisher task are done before the publisher, or else you won't be able to include output from the build in the email.
I cannot get the conditional plugin to work that has been added to CCNet as of version 1.6 - clicky. I am running the latest version of CCNet (1.6.7258.1) and have the following code in my ccnet.config:
<project name="9iCompile">
<sourcecontrol type="svn">
<trunkUrl>http://bis-build:81/svn/Oracle/oas_forms/COPEN</trunkUrl>
<workingDirectory>C:\OAS\COPEN</workingDirectory>
<username>*</username>
<password>*</password>
<executable>C:\Program Files\VisualSVN\bin\svn.exe</executable>
</sourcecontrol>
<conditional>
<conditions>
<compareCondition>
<value1>$[ProjectType]</value1>
<value2>copen</value2>
<evaluation>equal</evaluation>
<ignoreCase>true</ignoreCase>
</compareCondition>
</conditions>
<tasks>
<nant>
<executable>C:\Program Files\nant-0.85\bin\nant.exe</executable>
<baseDirectory>C:\OAS</baseDirectory>
<buildFile>Oracle9i_Automation_v2.build</buildFile>
<targetList>
<target>build</target>
</targetList>
</nant>
</tasks>
</conditional>
<!-- more conditional statements would be here for different project types if I can get it to work -->
<parameters>
<selectParameter name="ProjectType">
<description>The type of project to operate on.</description>
<allowedValues>
<value name="COPEN">copen</value>
<value name="BCS">bcs</value>
<value name="FCDD">fcdd</value>
</allowedValues>
</selectParameter>
</parameters>
<security type="defaultProjectSecurity" defaultRight="Deny">
<permissions>
<rolePermission name="Developers" ref="Developers"/>
<rolePermission name="Accepters" ref="Accepters"/>
<rolePermission name="Releasers" ref="Releasers"/>
<rolePermission name="Administrators" ref="Administrators"/>
</permissions>
</security>
</project>
The CCNet server crashes whenever I try to run this config though with
the following output:
[14:ERROR] Exception: Unused node detected:
<conditional>
<conditions>
<compareCondition>
<value1>$[ProjectType]</value1>
<value2>copen</value2>
<evaluation>equal</evaluation>
<ignoreCase>true</ignoreCase>
</compareCondition>
</conditions>
<tasks>
<nant>
<executable>C:\Program Files\nant-0.85\bin\nant.exe</executable>
<baseDirectory>C:\OAS</baseDirectory>
<buildFile>Oracle9i_Automation_v2.build</buildFile>
<targetList>
<target>build</target>
</targetList>
</nant>
</tasks>
</conditional>
----------
ThoughtWorks.CruiseControl.Core.Config.ConfigurationException: Unused
node detected:
<conditional>
<conditions>
<compareCondition>
<value1>$[ProjectType]</value1>
<value2>copen</value2>
<evaluation>equal</evaluation>
<ignoreCase>true</ignoreCase>
</compareCondition>
</conditions>
<tasks>
<nant>
<executable>C:\Program Files\nant-0.85\bin\nant.exe</executable>
<baseDirectory>C:\OAS</baseDirectory>
<buildFile>Oracle9i_Automation_v2.build</buildFile>
<targetList>
<target>build</target>
</targetList>
</nant>
</tasks>
</conditional>
at ThoughtWorks.CruiseControl.Core.Config.NetReflectorConfigurationReader.DefaultErrorProcesser.ProcessError(String message)
at ThoughtWorks.CruiseControl.Core.Config.NetReflectorConfigurationReader.<>c__DisplayClass1.<Read>b__0(InvalidNodeEventArgs args)
at Exortech.NetReflector.InvalidNodeEventHandler.Invoke(InvalidNodeEventArgsargs)
at Exortech.NetReflector.NetReflectorTypeTable.OnInvalidNode(InvalidNodeEventArgs args)
at Exortech.NetReflector.XmlTypeSerialiser.HandleUnusedNode(NetReflectorTypeTable table, XmlNode orphan)
at Exortech.NetReflector.XmlTypeSerialiser.ReadMembers(XmlNode node, Object instance, NetReflectorTypeTable table)
at Exortech.NetReflector.XmlTypeSerialiser.Read(XmlNode node, NetReflectorTypeTable table)
at Exortech.NetReflector.NetReflectorReader.Read(XmlNode node)
at ThoughtWorks.CruiseControl.Core.Config.NetReflectorConfigurationReader.Read(XmlDocument document, IConfigurationErrorProcesser errorProcesser)
at ThoughtWorks.CruiseControl.Core.Config.DefaultConfigurationFileLoader.Load(FileInfo configFile)
at ThoughtWorks.CruiseControl.Core.Config.FileConfigurationService.Load()
at ThoughtWorks.CruiseControl.Core.Config.FileWatcherConfigurationService.Load()
at ThoughtWorks.CruiseControl.Core.Config.CachingConfigurationService.Load()
at ThoughtWorks.CruiseControl.Core.CruiseServer.Restart()
at ThoughtWorks.CruiseControl.Core.Config.ConfigurationUpdateHandler.Invoke()
at ThoughtWorks.CruiseControl.Core.Config.FileWatcherConfigurationService.HandleConfigurationFileChanged(Object source, FileSystemEventArgs args)
----------
Can someone please help?? I have no idea what I'm doing wrong here or
if this is a bug :( I have also posted on the ccnet-user group several days ago but have not received any response :(
I have received a response from the ccnet-user group now. The conditional block is in fact a task type so needs to be in a tasks or publishers element.