<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic ACE URI Rewrite in Application Networking</title>
    <link>https://community.cisco.com/t5/application-networking/ace-uri-rewrite/m-p/2163255#M39743</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The answer is "no" - a rewrite rule won't work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to RFC 3986 the '\' character is not permitted in URIs; Cisco updated the URI parser in 5.2.2 to be fully (or, at least, closer to fully) compliant with this RFC (bug CSCud39381).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To revert to non-strict URI parsing, we had to create a parameter map:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameter-map type http NONSTRICT-PARSING&lt;/P&gt;&lt;P&gt;&amp;nbsp; parsing non-strict&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and apply this to the appropriate class in the interface policy map:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;policy-map multi-match global&lt;/P&gt;&lt;P&gt;&amp;nbsp; class BROKEN-APPLICATION-CLASS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance policy BROKEN-APPLICATION-POLICY&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; appl-parameter http advanced-options NONSTRICT-PARSING-PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 09 Apr 2013 18:56:45 GMT</pubDate>
    <dc:creator>KURT HILLIG</dc:creator>
    <dc:date>2013-04-09T18:56:45Z</dc:date>
    <item>
      <title>ACE URI Rewrite</title>
      <link>https://community.cisco.com/t5/application-networking/ace-uri-rewrite/m-p/2163254#M39742</link>
      <description>&lt;P&gt;We've got an application that broke after upgrading our ACEs from A5(2.1) to A5(2.2); the problem lies in how the ACE handles URLs with embedded backslash characters in them - e.g.:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE cellpadding="0" cellspacing="0" id="tabDialog_2" style="font-size: inherit; background-color: #ffffff; width: 1591px; border-collapse: separate; border: 1px solid #006699;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="padding-top: 3px; padding-right: 4px; padding-bottom: 11px; padding-left: 4px; width: 1583px;"&gt;&lt;TABLE style="font-size: inherit;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P id="descGen_1" style="margin-bottom: 0.35em;"&gt;&lt;A href="https://dartbbncqa.dsc.umich.edu/give/page.aspx?pid=371&amp;amp;s-Tags\Value=mlibrary-priority&amp;amp;s-search=1" rel="nofollow" style="color: #0078dc; text-decoration: none;" target="_url_in_desc"&gt;https://servicename.umich.edu/give/page.aspx?pid=371&amp;amp;s-Tags\Value=x&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Prior to the upgrade the ACE would forward these to the back-end servers; after the upgrade the ACE resets the client connection.&lt;/P&gt;&lt;P&gt;(We're doing SSL offload on the ACE; the back-end connection is HTTP over port 80, only the client-side traffic is over SSL.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some browsers will convert these to percent-encoded form - i.e. &lt;/P&gt;&lt;TABLE cellpadding="0" cellspacing="0" id="tabDialog_2" style="cursor: default; border-collapse: separate; font-size: inherit; background-color: #ffffff; width: 1591px; margin: -1px; border: 1px solid #006699;"&gt;&lt;TBODY style="border: inherit solid inherit;"&gt;&lt;TR style="border: inherit solid inherit;"&gt;&lt;TD style="border-collapse: collapse; cursor: text; border: 1px dashed #bbbbbb; padding-top: 3px; padding-right: 4px; padding-bottom: 11px; padding-left: 4px; width: 1583px;"&gt;&lt;TABLE style="cursor: default; border-collapse: collapse; font-size: inherit; margin: -1px; border: 1px dashed #bbbbbb;"&gt;&lt;TBODY style="border: inherit solid inherit;"&gt;&lt;TR style="border: inherit solid inherit;"&gt;&lt;TD style="border-collapse: collapse; cursor: text; border: 1px dashed #bbbbbb;"&gt;&lt;P id="descGen_1" style="margin-top: 0pt; margin-right: 0pt; margin-bottom: 0.35em; margin-left: 0pt; padding: 0pt;"&gt;&lt;A href="https://dartbbncqa.dsc.umich.edu/give/page.aspx?pid=371&amp;amp;s-Tags\Value=mlibrary-priority&amp;amp;s-search=1" rel="nofollow" style="color: #0078dc; text-decoration: none;" target="_url_in_desc"&gt;https://servicename.umich.edu/give/page.aspx?pid=371&amp;amp;s-Tags%5CValue=x&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and things work for these; but other browsers won't do this.&amp;nbsp; So I'd like to set up a rewrite rule in the ACE that will replace any (or at least the first) '\' with the string '%5C'.&amp;nbsp; Just how to do this isn't clear from the command ref, and the config guide is a tad shy on similar examples.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this possible?&amp;nbsp; If so, can anyone help with the appropriate rule?&lt;/P&gt;</description>
      <pubDate>Tue, 09 Apr 2013 15:28:36 GMT</pubDate>
      <guid>https://community.cisco.com/t5/application-networking/ace-uri-rewrite/m-p/2163254#M39742</guid>
      <dc:creator>KURT HILLIG</dc:creator>
      <dc:date>2013-04-09T15:28:36Z</dc:date>
    </item>
    <item>
      <title>ACE URI Rewrite</title>
      <link>https://community.cisco.com/t5/application-networking/ace-uri-rewrite/m-p/2163255#M39743</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The answer is "no" - a rewrite rule won't work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to RFC 3986 the '\' character is not permitted in URIs; Cisco updated the URI parser in 5.2.2 to be fully (or, at least, closer to fully) compliant with this RFC (bug CSCud39381).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To revert to non-strict URI parsing, we had to create a parameter map:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;parameter-map type http NONSTRICT-PARSING&lt;/P&gt;&lt;P&gt;&amp;nbsp; parsing non-strict&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and apply this to the appropriate class in the interface policy map:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;policy-map multi-match global&lt;/P&gt;&lt;P&gt;&amp;nbsp; class BROKEN-APPLICATION-CLASS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; loadbalance policy BROKEN-APPLICATION-POLICY&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; appl-parameter http advanced-options NONSTRICT-PARSING-PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Apr 2013 18:56:45 GMT</pubDate>
      <guid>https://community.cisco.com/t5/application-networking/ace-uri-rewrite/m-p/2163255#M39743</guid>
      <dc:creator>KURT HILLIG</dc:creator>
      <dc:date>2013-04-09T18:56:45Z</dc:date>
    </item>
  </channel>
</rss>

