As an IT professional for over 20 years I have run into a lot of strange errors in my time. I also have an extensive home “production” lab so I can stay up to date on changes in tech and its fun! Recently I installed Exchange 2016 in a Hyper-V virtual machine. It was a simple migration from 2013. I was in the process of decommissioning an older Hyper-V host. Some of my guest vm’s were migrated while others were built from scratch.
I had completed my migration and Exchange, OWA, & ECP were working just fine. About a month later I tried to access the ECP and was greeted with a 500 Error!
Tracking Down The Error
I started to troubleshoot the issue, reboot, look at exchange setting. The exchange shell was working fine, and all other items were working too. Just ECP was down.
Next stop the event viewer.
This is the event that was appearing in my logs over and over again
Details:
Current user: 'joeoliveri.com/Microsoft Exchange System Objects/Monitoring Mailboxes/HealthMailbox3b4ab888c6d14cdaa15d6d07e800f9d4' Request for URL 'https://localhost:444/ecp/About.aspx' failed with the following error: System.Configuration.ConfigurationErrorsException: Host 'mail.joeoliveri.com' is not allowed to connect to this MySQL server (C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config line 275) ---> MySql.Data.MySqlClient.MySqlException: Host 'Mail.joeoliveri.com' is not allowed to connect to this MySQL server
What? MySql? Why does Exchange Server 2016 care about MySql?
How to fix EXCHANGE Error 500 ECP & MySql
As it turns out I am also running a MySql Server on my Exchange server (yes I know.. why..) its a home lab and sometimes I place things where I have room or where its convenient. In this case I have an IIS based project that is able to share the same IIS instance .
When MySql / PHP was installed apparently it made a modification to the machine.config file causing Exchange to attempt to hook into MySql. Reveting back to the backup machine.config file – know as machine.config.default should correct the issue.
Location of machine.config:(backup file is in the same folder)
32-bit
%windir%\Microsoft.NET\Framework\[version]\config\machine.config
64-bit
%windir%\Microsoft.NET\Framework64\[version]\config\machine.config
On my actual Exchange server the path was:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config
Locate the backup file in the above folder “machine.config.default” make a copy of that file (backup of the backup)
Rename the live file – machine.config to machine.config.bad
Rename the backup – machine.config.default to machine.config
finally fire off a IISRESET command from an administrative command prompt and BAM.. all should be working properly
Your other option could be to edit the existing live file and delete all the references to MySql.
As always it is a good idea to have a current backup of your exchange server before you start messing with configuration files.
I hope this post was able to save someone a bit of time troubleshooting the dreaded ERROR 500.
As always, thank you for reading my blog.
-Joe
Don’t forget to visit my Etsy store – www.geekgearstore.com