I have a couple of websites hosted with plesk windows shared hosting.
Issue I've found since migrating to plesk is that PUT and DELETE requests are being dropped with a 405. Has anyone experienced this?
Godaddy support say they do not block these verbs. I have suggested that these options are missing from request mapping verb restrictions in IIS but as it is shared hosting they say that they cant change them.
Anyone have any advice? I've added various entries in my web.config suggested online but no luck.
Website, is php but the issue exists on every website now on plesk.
Have you had any luck getting any answers from GoDaddy support?
I had a problem with PUT request erroring out with 405, and I too tried various entries in web.config. It can only be caused by the way Plesk IIS is configured by GoDaddy (which is not very good as you can see from various inappropriate settings in the default configuation).
I'm certain that http verbs are restricted in some way (as some default configuration in IIS) and GoDaddy support aren't aware or don't understand it.
I'll try more for a while. If not solved, I will need to change the request to POST to do the same thing (though it isn't really right).
Thanks for your response. It appears that only very simple questions ever get answered/replied on this forum.
I have had countless conversations with godaddy support, both their first line and their "technical" team. I am a experienced developer and the responses i got from them were ludicrous.
You are right, the issue is with IIS. I told them this time and time again but their replies consisted of the following:
- Links to other websites showing how i could update IIS to allow these requests
- Told that they do not provide "third party" code support.
- Told that these verbs are default enabled.
At no point did anyone i had conversations with accept that their technical team needs to do some diagnosis. Any developers, tester, pretty much any technically minded individual would at least try and replicate the issue, or at least prove it is not true. Instead what i got was, "it is by default enabled". Basically a line from their script on screen.
Their employees are completely untrained when it comes to these types of questions. Ask a developer this questions (in a windows environment) and they would point straight to IIS.
I have subsequently cancelled my hosting services with godaddy, bought a barebones pc, upgraded some minor parts and setup my own server to host my websites. Simple. Static ip and security issues required some additional research but found a solution to each.
Ultimately the resolution (if you wish to stay with godaddy) is to pester godaddy to do some real work and enable the verbs that they say are "default enabled". Or, change the requests to POST requests and add some recognisable header, data in post data or use a different endpoint to recognise that different requests. Probably more ways but it will be a hack to get it to work. Not something you'd expect from a hosting provider.
Thank you for the response.
I agree completely with your assesment of the level of GoDaddy customer support as I had similar experiences dealing with them regarding some techinical issues.
I was even accused of "port scanning" when I was trying to sort out FTP repository for the backup as they do not understand the difference between Active and Passive FTP mode and insisting that they only use port 21.
Also I gave up on using WordPress on Windows Plesk platform, which performs so badly, after receiving repeated responses like "Windows platform is not suited to WordPress so you should use Unix platform" despite the fact that they offer WordPress as one of promoted applications on their Windows platform Shared Hosting service. Subsequently I have moved WordPress site on to Amazon AWS with very small resource setup but performs miles better than it was on the GoDaddy Shared Hosting.
Since my internet connection is not very good at where I live, I don't have a choice of hosting site locally. I now only use the GoDaddy Shared Hosting service in conjunction with Domain management service, which is pretty good (perhaps because no complicated techinical support required ).
Going back to the issue of 405, I have now managed to get it working by adding some entries to web.config.
As you see on many posts on the internet, it is caused by WebDAV getting in the way and also, I beleive, IIS default message handler settings being largely to only accept HEAD, GET and POST. The issue in my (and probably yours) was also the setting of the handler for PHP is not set for PUT and DELETE. (Despite, "it is by default enabled", the answer you received from the technical support.)
So, in order to rectify 405 for PUT/DELETE is to remove WebDAV, which is not actually configured to work with GoDaddy Windows platform Shared Hosting, and to alter PHP handler to accapt PUT/DELETE, is to add following entries in <system.webServer> elements of web.config file:
<remove name="WebDAVModule" />
<remove name="WebDAV" />
<remove name="PHP56_via_FastCGI" />
scriptProcessor="C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP56\php-cgi.exe"
It took me a while to find out where the php-cgi.exe file resides for GoDaddy Windows platform Shared Hosting, but I eventually found some reference on the net. If you are using different version of PHP, then you need to adjust it accordingly.
It may not be the best way, but it, as far as I'm concerned, logically make sense and does work for what I wanted to do.
A "good" thing with using GoDaddy Hosting Service is that you learn things your own way, rather than following the instuctions to get it working which will be the majority of cases if you have more control of your environment. If you acutally like that kind of situation.
I recently uploaded a web app that utilizes a WebAPI service to Plesk. Viewing data and inserting a new record (GET and POST) work just fine, but updating and destroying records (PUT and DELETE) result in the aforementioned 405 error.
I've tried using GoDaddy's over-the-phone tech support to get assistance but was told none of them have that deep developer knowledge.
I have found an article showing how to fix the issue (https://support.plesk.com/hc/en-us/articles/115002202793-Unable-to-use-DELETE-PUT-or-PATCH-HTTP-verb...), but I don't know who to communicate with to get them to perform this.