iis
20 TopicsIIS X-Forward-For ISAPI Filter
A recent customer issue came up where they were load balancing servers but we unable to get the true client address logged in their IIS logs. They had their servers fronted by a BIG-IP and when clients would make requests the address passed to the server was the internal address and not that of the client. This is a common issue with proxies and fortunately there is a standard for forwarding client information. It is the HTTP X-Forwarded-For header which is handled by most proxies. So, I set out to find an existing ISAPI filter to replace the c-ip (client ip) log value in IIS with the contents of the X-Forwarded-For header (if it exists). I was amazed to find that I couldn't find a single instance of any open source (or even commercial) filter that would do this. So, I dug out Visual Studio and whipped up a filter that does just that. It's very basic and contains no user configuration so all you need to do is plug it into your Web Applications list of ISAPI Filters within the IIS Administration and you're set to go. We've released the source under the iControl End User License Agreement (available in any iControl SDK download). You can download it here. If you find a way to optimize this filter, please let me know and I'll update the sources here. After 24-hours of posting, a customer already returned some performance testing on the filter indicating that it only effected the traffic by less than 1 percent. I'm sure there are ways to optimize the memory allocation in the filter to speed this up a bit more, but I'll leave that for the community to work on. Oh, and it should be noted that the X-Forwarded-For header isn't supported the same way across all proxy products so you'll want to make sure you test this out before using it. It is expecting the header to only contain an IP Address as it does a straight substitution on the value in the c-ip section of the log entry. Enjoy! -Joe6.2KViews0likes35CommentsTraffic Policy to Split Content Between IIS Server and Cloud Provider - unexpected behavior
We are in the process of moving a website from an IIS web server farm out to a different cloud hosting provider. The root of the rewritten site will be on the cloud servers. Since not all of the old legacy applications have been rewritten, we will still be serve up some of the legacy web applications from the old IIS servers. To achieve this, we are using the following: VIP with a default pool "Cloud_Provider" . That pool contains the IP address of that provider. VIP has a Traffic Policy associated with it that has a rule of: Match all of the following conditions:HTTP URI path starts with any of: /oldapp1 at request time Do the following when the traffic is matched:Forward traffic to pool "IIS_pool" The following scenerios work as expected and correctly serve up the web content: https://HostName.com/(this successfully loads the site from the cloud provider) https://HostName.com/oldapp1(this successfully loads the legacy app from the IIS Servers) However...If we first go to https://HostName.com/oldapp1and successfully load that,then we remove "/oldapp1" from the address bar and hit Enter, it attempts to load the root of the site in IIS. Since there is no more root site (it is now living on the cloud provider as a rewritten site), it sees no content and spits out a 403 Forbidden message. What we are trying to solve is, why when running through that second scenerio, is the traffic not going through the Traffic Policy again and seeing "this request is not foroldapp1"so I will not forward the traffic... I will just use the default pool. Troublshooting steps taken so far: Tried changing the Persistence Profile on the VIP to: source_address, ssl, cookie, none. Put an index.html file at the root of the IIS web server and had it redirect to https://HostName.com. That resulted in an endless loop because it never left the IIS server to go back through the VIP. This is running on 15.1.5.1, with ASM.Solved2KViews0likes2Commentshealth monitor IIS
Hello, I was wondering if someone can shed some light on a health monitor I am trying to setup. Ill give a brief overview of the setup. We have an application that gets proxied via apache ( apache are the nodes in the pool being monitored, acts as proxy nothing more) to IIS where the application actually lives. I am trying to setup a monitor so that it monitors say an index.html page on the IIS server something along the lines of Send string - http://Portal/dir/index.html receive string - IIS is up Tried to use this but nodes fail the health check when applying the monitor to the pool The service ports that its monitoring for are https Any help is greatly appreciated Thanks998Views0likes4CommentsSNAT / X-FORWARD-FOR breaks HTTPS connection
We are trying to create an iAPP with SSL passthrough and X-FORWARDED set but when we enable SNAT for the X-FORWARDED-FOR (HTTP profile or iRule X-FORWARDED-FOR) the connection seems to stop passing through to our backend IIS pool (nothing logged in the IIS logs). We have looked through a few guides but it feels like we are missing something or there is an underlying setup flaw with our F5. Edge / Chrome give the following err_connection_reset It would seem the minute we enable either; a HTTP Profile, an SSL Profile or enable SNAT the site stops working I'm sure you will need more info from me, as I'm relatively new to F5's let me know what you need and I'll post the details inSolved899Views0likes2CommentsIIS behind Big IP Windows Authentication
Hi everyone, I'm trying to load balance a couple of IIS web servers for a particular application. The website is configured with Windows Authentication. If i try to access the webpage directly to a server node , i'm able to get the content without any issues. Now if i tried to access the webpage through the F5 Virtual Server, i'm getting the credentials popup window. How can i accomplish this without? regards699Views0likes1CommentLTM Monitoring IIS and Webserver Binding
Hello, we've got a VS for 2 MS IIS Webserver. Question: if I configure the Pool with regular Nodes, the Monitor connects the Nodes with the IP Adress, right? Then I've got a problem with the Webserver-Binding (only Bindings for hostname and Website-Name) What if I configure the Pool with fqdn-Node? Is it sure, Monitor connects with hostname? when I make from BIG-IP a curl -k https://webbvk1.bvk.int/Smoke-Test I get the Response ...Smoketest... but with a Pool with webbvk1.bvk.int and webbvk2.bvk.int as fqdn-Node, the members are marked as down. webbvk1 & 2 are CNAMEs Send-String: HEAD /Smoke-Test HTTP/1.0\r\n\r\n Receive-String: Smoketest any Idea, where I could look for? Or a Problem with the IIS? Thank youSolved676Views0likes6CommentsiRule To Test Webpage Login
We have an issue where something in IIS will fail and external users will not be able to log into our webpage. I would like to either modify a current iRule and our create my own to test the login page on each webserver. I have tested and verified working health monitors for CPU and Memory load. And another health monitor for testing the url of the webpage ie abc.company.com on each webserver . The last piece would would be to stop directing traffic to the webserver that has the "IIS" webpage login issue until our dev team can figure out the issue. I was thinking of an iRule where I provide it a test username and password and the website url abc.company.com and it would try and login to the webpage on each webserver. If the page returns an error and is unable to log in the irule marks the node down and only keeps active connections. Once the iRule can log into the webpage it would automatically start directing traffic back to the node. Does anyone know if this can be done???611Views0likes12CommentsCan someone take a look and make sure I understand this right about reverse proxy
Preface: Yes I know not a whole lot but I'm trying. If someone could just take a look at this and maybe it will help me find what piece I am missing. We have an internal server that needs to be accessed on the outside, but they don't want it actually touching the internet so we run it through the BIG-IP F5 LTM. The internal IIS has an internal IP and an external IP assigned. The DNS entry is bound to the External IP address. A lot of what I setup has been copied from a currently working site that utilizes this exact same process. From my understanding the connection "route" is as follows: Internet-->ExtIP-->F5virtualIP-->IntIP The External IP gets natted on the firewall to the F5 internal IP of the virtual server, and then the F5 virtual server is linked to the actual internal server IP. We have access rules in place to allow public access to the external IP as well as the F5 IP. There are NAT rules in place that *should* point anyone going to the external IP towards the F5 address, and then through that to the internal server. There's an F5 rule in place that redirects from http to https as well. Internally, on my work PC, I can navigate to the site via it's FQDN. Externally though, I get a Not Secure Site message(we haven't gotten the cert in place yet so that is expected), but then after a while of trying to load, we receive an ERR_CONNECTION_RESET page and it can't load. I feel like there is something I am missing but I just can't think of what it is. If anyone has any ideas I will be eternally grateful. Thank you in advance.599Views0likes2CommentsMicrosoft IIS (Internet Information Services)
F5 Networks solutions engineers have worked with Microsoft IIS for over a decade, finding more and more ways for the BIG-IP system to accelerate, optimize, scale, and secure Microsoft IIS deployments. Our deployment guides and iApp templates for IIS are a result of this knowledge and experience, enabling organizations to spend valuable time and resources on other projects. And not only does F5 save your time and resources, but when the BIG-IP system relieves IIS servers from tasks such as compression, caching, and SSL processing, each server is able to devote more resources to running applications and can service more user requests. The following simple, logical configuration example shows the many different options for SSL processing on the BIG-IP system available in the iApp template and deployment guides for IIS. Seehttps://f5.com/solutions/deployment-guidesto find the appropriate deployment guide for quickly and accurately configuring the BIG-IP system for Microsoft IIS. If you have any feedback on these or other F5 guides or iApp templates, leave it in the comment section below or email us at solutionsfeedback@f5.com. We use your feedback to help shape our new iApps and deployment guides.535Views0likes1CommentHSTS / ASM connection drops
Hi All, We currently implement HSTS as an iRule on the F5, we also decrypt and inspect traffic with ASM. There are discussions internally on our side about adding HSTS to the web server responses on the actual server rather than from the F5. If we were to do this, is it possible/likely that F5 ASM decrypting the traffic will then result in connection drops? Thank you511Views0likes4Comments