IIS 7.5 and IIS 8.0 European Hosting

BLOG about IIS 7.5 Hosting, IIS 8.0 Hosting and Its Technology - Dedicated to European Windows Hosting Customer

IIS 8 Hosting - HostForLIFE.eu :: Using PHP runtime with IIS

clock January 6, 2015 06:23 by author Peter

In this post, I will tell you about using the PHP Runtime with IIS 8. First step you must do is download PHP. Download the "Non Thread Safe" distributive from the download page of the PHP Web webpage and install it utilizing the installer. On the off chance that you utilize a x86 server you may download an older version of PHP, yet in the event that you utilize a x64 server you can utilize just PHP 5.5.

Arrange IIS to run PHP using the accompanying guideline:
Verify that you Don’t select the "Webdav Publishing" part amid design.

Enable SSL and SOAP in PHP
Open the php.ini file in the folder where you have installed PHP.
Find and uncomment the lines below:
extension_dir = "ext"
extension=php_soap.dll
extension=php_openssl.dll

Install "URL Rewrite"
Install the "URL Rewrite" Module from IIS Application Gallery on the off chance that you utilize IIS 8 or IIS 8.5 or download and install it physically from http://www.iis.net/downloads/microsoft/url-rewrite

Make endpoint

  • Make an endpoint and design URL mapping for every APS Application API.
  • Make a site on IIS which indicates the organizer where the endpoint's records are spotted.
  • Arrange redirection for every APS administration to the relating PHP script.

You may utilize the accompanying sample of Web.config which demonstrates to design the redirection from administration Urls "/applications" and "/associations" to "applications.php" and "organizations.php" respectively:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <system.webServer>
       <rewrite>
           <rules>
                <rule name="APS Application API" stopProcessing="true">
                    <match url="([_0-9a-zA-Z\-]+)(.*)" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{R:1}" pattern="^applications$" />
                        <add input="{R:1}" pattern="^organizations$" />
                   </conditions>
                    <action type="Rewrite" url="{R:1}.php{R:2}" logRewrittenUrl="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>



IIS 8.0 Hosting UK - HostForLIFE.eu :: Disable Client Certificate Revocation (CRL) Checking in IIS 8

clock December 17, 2014 05:20 by author Peter

At this post, I will explain you how to disable Client Certificate Revocation (CRL) Checking in IIS 8. The Public Key Infrastructure (PKI) is an important because certificates are used in so many scenarios when testing Microsoft products and technologies. And one of the trickiest parts of PKI is availability of the Certificate Revocation List (CRL). That is because some solutions require a successful CRL check and some don’t. The problem is that Microsoft documentation doesn’t always make it clear which is the case for a particular scenario, so you end up having to guess whether it is required or not (or worse, going through the entire configuration process and finding that it doesn’t work).

When performing on a system with no internet access it's vital to confirm that CRL checking is disabled. If not disabled you'll always receive a 403.13 error once coming.

And here is the code to Show All Binding and Their Verify Client Certificate Revocation Setting:
netsh http show sslcert

Code for Delete SNI Binding:
netsh http delete sslcert hostnameport=www.yourwebsite.com:443

This is code for Add SNI Binding:
netsh http add sslcert hostnameport=www.yourwebsite.com:443 certhash=78dd6cc2bf5785a123654d1d789c530fcb5687c2 appid={3cc2a456-a78c-2cc9-bcc9-782bc83bb789} certstorename=My verifyclientcertrevocation=disable

Hope this tutorial works for you!



IIS 8.0 Hosting Belgium - HostForLIFE.eu :: Got an Issue on PowerShell AppPool Assignment

clock December 10, 2014 07:13 by author Peter

The WebAdministration module has a Function called IIS :. It basically acts as a drive letter or an uri protocol. The extremely convenient and makes accessing appPool, site info, and ssl bindings simple. I recently noticed 2 issues with assigning values with the IIS : protocol as well as objects and that is works along with :

StartMode Can’t Be Set Directly
For a few cause, utilizing Set-ItemProperty to line the startMode value directly throws an error. However, in case you retrieve the appPool into your variable and established the value using an = operator, every thing works good.

# https://connect.microsoft.com/PowerShell/feedbackdetail/view/1023778/webadministration-apppool-startmode-cant-be-set-directly
ipmo webadministration 
New-WebAppPool "delete.me" 
Set-ItemProperty IIS:\AppPools\delete.me startMode "AlwaysRunning" # throws an error 
$a = Get-Item IIS:\AppPools\delete.me
$a.startMode = "AlwaysRunning"
Set-Item IIS:\AppPools\delete.me $a # works

Here is the error that gets thrown:
Set-ItemProperty : AlwaysRunning is not a valid value for Int32.
At C:\Issue-PowershellThrowsErrorOnAppPoolStartMode.ps1:6 char:1
+ Set-ItemProperty IIS:\AppPools\delete.me startMode "AlwaysRunning" # throws an e ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-ItemProperty], Exception
    + FullyQualifiedErrorId :
System.Exception,Microsoft.PowerShell.Commands.SetItemPropertyCommand


CPU’s resetLimit Can’t Immediately Use New-TimeSpan’s Result
I believe the example can show the trouble much better than I will describe it :
# https://connect.microsoft.com/PowerShell/feedbackdetail/view/1023785/webadministration-apppools-cpu-limit-interval-resetlimit-cant-be-set-directly
ipmo webadministration 
New-WebAppPool "delete.me" 
$a = Get-ItemProperty IIS:\AppPools\delete.me cpu
$a.resetInterval = New-TimeSpan -Minutes 4 # this will throw an error
Set-ItemProperty IIS:\AppPools\delete.me cpu $a 
$a = Get-ItemProperty IIS:\AppPools\delete.me cpu
$k = New-TimeSpan -Minutes 4 # this will work
$a.resetInterval = $k
Set-ItemProperty IIS:\AppPools\delete.me cpu $a

And Here is the error that gets thrown:
Set-ItemProperty : Specified cast is not valid.
At C:\Issue-PowershellThrowsErrorOnCpuLimitReset.ps1:8 char:1
+ Set-ItemProperty IIS:\AppPools\delete.me cpu $a
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-ItemProperty], InvalidCastException
    + FullyQualifiedErrorId : System.InvalidCastException,Microsoft.PowerShell.Commands.SetItemPropertyCommand

The links on every section correspond with bug reports for the problems, thus hopefully they can get looked into.



IIS 8.0 Hosting UK - HostForLIFE.eu :: How To Eliminate Unnecessary HTTP Headers in IIS 7.5 or 8.0 ?

clock December 4, 2014 06:50 by author Peter

IIS loves to inform the world that the web site runs on IIS, it does so using the Server response header as shown beneath. During this article I’ll show you how you can rewrite and eliminate unwanted response headers in IIS, as a result of we don’t need to provide hackers a lot of info concerning our servers.

The response of a standard HTTP HEAD appearance such as:
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Vary: Accept-Encoding
Server: Microsoft-IIS/8.0
X-UA-Compatible: IE=Edge,chrome=1
Date: Thu, 04 Dec 2014 10:05:34 GMT
Connection: close

And right listed below IIS shows the version info by using the Server response header. As using the ETag header, you are able to rewrite and empty this Server response header along with an IIS URL Rewrite outboundRule:
<rewrite>           
  <outboundRules rewriteBeforeCache="true">
    <rule name="Remove Server header">
      <match serverVariable="RESPONSE_Server" pattern=".+" />
      <action type="Rewrite" value="" />
    </rule>
  </outboundRules>
</rewrite>

The outboundRule looks for Server inside the output response stream and rewrites the value along with nothing. The end result is an empty Server response header line:
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Vary: Accept-Encoding
Server:
X-UA-Compatible: IE=Edge,chrome=1
Date: Thu, 04 Dec 2014 10:06:08 GMT
Connection: close


Rewrite Server : Microsoft-IIS/8. 0 with your personal information
The enjoyable section of rewriting response headers is that you may show your own string, for instance giving in an value inside the Rewrite action, which message is displayed:
<action type="Rewrite" value="europeanwindowshosting" />

HTTP/1.1 200 OK
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Vary: Accept-Encoding
Server: Saotn Server Software systems, LTD.
X-UA-Compatible: IE=Edge,chrome=1
Date: Thu, 04 Dec 2014 11:19:16 GMT
Connection: close

Eliminate X-Powered-By header in IIS utilizing customHeaders
By default IIS tells the world it’s powered by ASP. NET, by putting an X-Powered-By header:
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Vary: Accept-Encoding
Server:
X-Powered-By: ASP.NET
X-UA-Compatible: IE=Edge,chrome=1
Date: Thu, 04 Dec 2014 10:07:37 GMT
Connection: close


This response header could be removed having a customHeaders setting in web. config, placed inside the node:
<httpProtocol>
  <customHeaders>
    <remove name="X-Powered-By" />
  </customHeaders>
</httpProtocol>


Currently the X-Powered-By header is removed from the response header output:
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Vary: Accept-Encoding
Server:
X-UA-Compatible: IE=Edge,chrome=1
Date: Thu, 04 Dec 2014 10:10:02 GMT
Connection: close

X-AspNet-Version HTTP header
The X-AspNet-Version HTTP Header broadcasts to the world what version of ASP.NET has been used. Add the listed content inside node with your application’s web. config file:
<httpRuntime enableVersionHeader="false" />

Eliminate HTTP headers in global.asax
ASP.NET programmers can also eliminate or change server HTTP response headers through a global.asax file With your global.asax.cs add this :
protected void Application_PreSendRequestHeaders()
{
  // Response.Headers.Remove("Server");
 Response.Headers.Set("Server","My httpd server");
  Response.Headers.Remove("X-AspNet-Version");
  Response.Headers.Remove("X-AspNetMvc-Version");
}



IIS 8 Hosting UK - HostForLIFE.eu :: How to use FTP User Isolation in IIS 8?

clock December 3, 2014 05:09 by author Peter

When IIS 7 was released the FTP service were totally redesigned from the bottom up along with security on your mind. This was a welcome change indeed from IIS 6. Along with supporting FTP more than SSL it introduced FTP User Isolation.

Multiple users on a similar FTP website could possibly be separated no matter that file path they had been becoming logged into without risk of somebody traversing up parent paths with other user folders.

The FTP Authorization guidelines cause it to be simple to determine multiple users or perhaps local groups to get access to the FTP server. The user isolation is achieved by making a virtual directory referred to as LocalUser then selecting User name directory (disable global virtual directories). The LocalUser virtual directory ought to purpose towards the FTP root directory then you build a separate virtual directory for every FTP user that points to their destination path.

Along with FTP User Isolation configured your users can never have the ability to transfer up as much as a parent path beyond their individual root directory. Even if a user were able to accurately guess the username and virtual path of another FTP account upon the server they won't have the ability to achieve it. Because of the confines from the isolation the FTP session can not notice anything upon the server. In the illustration down below I login along with local account ftpuser2 and plan to change the path to/ftpuser1 but that path doesn't exist and hence isn't accessible to my user.

Conclusion
IIS 8 on Windows Server 2012 provides the foremost secure FTP service of any IIS version to day. You've multiple layers of FTP security accessible by leveraging FTP Logon Attempt Restrictions, FTP Over SSL, and FTP User Isolation. Your FTP server will certainly be nicely protected using these built-in modules. Along with internet security there isn't any ‘patch’ for complacence. A lot of security is usually much better so implement it when it’s readily accessible for you.



IIS 8.0 Hosting UK – HostForLIFE.eu :: How to Enable Compression for HTTP 1.0 Request ?

clock November 20, 2014 06:45 by author Peter

Recently I'd been a web hosting in this blog. Throughout the integration I found which default IIS 8.0 configuration don't compress static source when requested along with HTTP 1. 0. Thus in this quick & brief article we'll notice how you can enable static source compression for HTTP 1. 0 request in IIS.

So I made a decision to look into IIS 8.0 log and I found that uses HTTP 1. 0 to request custom origin server.

I didn't anticipated HTTP 1. 0 request here thus once again I requested origin server along with HTTP 1. 0 using fiddler and also as a surprise IIS returned un-compressed response. In IIS by default compression for HTTP 1. 0 request is disabled. We have to explicitly enable compression for HTTP 1. 0 request. To Allow compression for HTTP 1. 0 request we have to alter web. config as beneath.

<configuration>
    <system.webServer>   
<httpCompression noCompressionForHttp10="false" noCompressionForProxies="false">
</httpCompression>
   
</system.webServer>
</configuration>

When changing web. config as above, IIS started to server compressed response for HTTP 1. 0. Hope this quick and brief publish could be useful !



IIS 8.0 Hosting with France Data Center - HostForLIFE.eu :: Dynamic IP Address & Domains Restrictions on IIS 8.0

clock November 19, 2014 05:17 by author Peter

Just before IIS 8. 0, server administrators may permit or deny accessibility for particular IP address or range of IP addresses. Other then still acquiring IP address that trigger mass attack was tedious process for server administrator because it involve analyzing IIS 8 log periodically and manually add it to deny record whether it found new IP address.

An answer to above issue is instead of blocking IP based mostly on addresses, we must block IP primarily based on it is activity. For example, maximum no of concurrent request, total no of request in excess of a time period, and many others. Sure this really is wherever IIS 8. 0 and Dynamic IP Addresses & Domains Restrictions are available in picture. Dynamic IP Addresses & Domains Restrictions attribute of IIS 8. 0 allow administrators to block IP based mostly on it is activity.

Blocking access based mostly on no of requests in IIS 8
First, Open up IIS manager and navigate to web page for that you desire to configure and click on IP Address and Domain Restrictions function.

Next step, click Edit Dynamic Restriction Settings... link in action pane as shown on the picture below.

Select on it will open up the dialog box that permits you to configure dynamic IP blocking. There will be 2 choices to block IP based mostly on his activity.

Maximum no of concurrent requests
This setting ensures that in case concurrent requests of any IP address exceed than configured limit then IIS won't serve which ask for and it'll deny.

Maximum no of requests more than a period of time
This setting ensures that in case any IP address sends additional requests than authorized limit among specified time then IIS won't serve which ask for and it'll deny. For e. g. as shown in above image in the event any IP can deliver greater than 20 requests among 200 milliseconds then IIS can deny to serve request.

Response behavior when denying requests
To configure response behavior when denying any requests in IIS 8, click on Edit Feature Settings... link in action pane on right side bar.

In beneath image we will notice available deny action type while denying any requests. These are generally Unauthorized, Forbidden, Not Found, and Abort. Based mostly for this settings IIS can deliver response along with respective HTTP status code.

Dynamic IP restrictions and Proxy
Many clients are accessing web sites through a number of proxy server ; during this case it might happen IIS might obtain same IP altogether requests though it is asked for by totally different client. To address this condition, we will configure IIS 8 to examine x-forwarded-for HTTP header. To allow this just check Enable Proxy Mode checkbox as displayed in subsequent image.

Thus in nutshell, we will claim that Dynamic IP address and domain restrictions feature of IIS 8 adds security improvements towards the web site by blocking mass requests from one client.



IIS 8.0 Hosting Netherlands - HostForLIFE.eu :: How To Fix IIS Error 500 Internal Server Error Errors ?

clock November 5, 2014 06:30 by author Peter

Problem:
This is another common error that troubles plenty of ASP.NET users. Generally, the questions are framed like: “This error (HTTP 500 Internal Server Error) means that the website you are visiting had a server problem which prevented the webpage from displaying”
Or you can see on the picture below:

What is a 500 Internal Server Error?

In short, a HTTP 500 error implies that there's a drag with the configuration of the server. An HTTP 500 error isn't a problem the end user will solve themselves.  In their case, they need to report the matter to the server administrator or web site owner. however if you're managing your own IIS server and it’s your job to diagnose 500 server errors, there are many ways that to create the method easier.

Why am I getting HTTP 500 Internal Server Error IIS error?

The HTTP 500 Internal Server Error Iis error is also caused by windows system files harm. The corrupted system files entries may be a true threat to the well being of your PC.
There may be several events which can have resulted within the system files errors. an incomplete installation, an incomplete uninstall, improper deletion of applications or hardware. It also can be caused if your PC is recovered from a virus or adware/spyware attack or by an improper closedown of the PC. All the above actives could lead to the deletion or corruption of the entries within the windows system files. This corrupted system file can cause the missing and incorrectly joined info and files required for the right operating of the application.

How to Fix “HTTP 500 Internal Server Errors”
1. First, log on as an administrator
2. Then, Click the Start button -> All Programs -> Accessories -> System Tools, and then click System Restore.
3. On new window, choose the "Restore my computer to an earlier time" choice so click Next button.
4. choose the most recent system restore purpose from the "On this list, click a restore point" list, so click Next.
5. Click Next on the confirmation window.
6. Now, Restarts your Computer when the restoration is finished.



IIS 8 Hosting UK - HostForLIF.eu :: Adding Your FTP Site on IIS 8

clock October 29, 2014 09:37 by author Peter

In this article you'll learn the way to add a new FTP site on IIS 8. Before going through this article make sure that FTP and IIS are installed on your system. If you wish to find out a way to install IIS then you'll go through this article: Installing IIS. Now allow us to see the procedure needed to add a new FTP site on IIS 8.

Step 1. First of all Open the Administrative Tools from the START Menu.

Now within the Administrative Tools, there is several options will be available within the list among that you need to choose the IIS Manager and so double-click on that to open it.

Step 2. Now the IIS Manager Window are going to be opened. On the left hand side you'll see a pane named Connection Pane, within the Connection Pane a Server node are going to be available, you need to expand this Server node and so right-click on your Server name and so choose the option named Add FTP site.

Step 3. A new form are going to be opened. Now you need to give the site information that you just that you aiming to create, 1st give the name for this New site and then give the Physical Path by clicking on the Browse Button. This physical path can verify a folder wherever the Content Directory are going to be created.

After select the Name and Physical Path click on the "Next" button.

Step 4. Next, named as Binding and SSL Settings. You must fill the IP Address. Click on the drop down Button and so choose the IP Address, if you do not have any IP Address then you'll choose an option available named All Unassigned. After providing the IP Address, give the Port number.

Step 5. On an equivalent page Uncheck the start FTP site automatically. In SSL 3 options are going to be available, among these choices I selected  the third option, in alternative words need SSL and then I give the SSL Certificate. After give all that information click on "Next".

Step 6. On the next page Authentication and Authorization is to be provided. On Authentication Permitted if you want to permit all the users then you'll check the "Anonymous" otherwise you'll check the "Basic".

In the Authorization I permit all users authorization to Permitted and Write, you'll provide no matter authorization that satisfies your needs. After providing all the information, click on the "Finish" button to create the site.

Step 7. Now in the Sites you'll see that the new website is available under the IIS Default web site.



About HostForLIFE.eu

HostForLIFE.eu is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes.

We have offered the latest Windows 2012 Hosting, ASP.NET 4.5 Hosting, ASP.NET MVC 5 Hosting, and SQL 2014 Hosting.

Tag cloud

Sign in