<div><div>Honestly, I think you have set yourself down a path where this will be difficult to support and maintain.&nbsp;</div><div><br></div><div>Give each client a unique sub-url and still authenticate them by IP if you want. But don't make it complicated by trying to auto route them.&nbsp;<br><br><div class="acompli_signature"></div><br></div></div>
    <div class="gmail_quote">_____________________________<br>From: Keith Larson &lt;<a href="mailto:klarson@k12group.net" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="1">klarson@k12group.net</a>&gt;<br>Sent: Wednesday, October 14, 2015 12:56 PM<br>Subject: Re: [colug-432] virtual hosts based on ip<br>To:  &lt;<a href="mailto:colug-432@colug.net" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="3">colug-432@colug.net</a>&gt;<br><br><br>    <meta content="IE=edge">   <meta name="Generator" content="Novell Groupwise Client (Version 14.0.0  Build: 115243)">   <meta content="text/html; charset=utf-8">     <div id="GroupWiseSection_1444841357000_klarson@k12group.net_59511A0513870000BD1BF681F57056B0_" class="GroupWiseMessageBody">   <div>    The reason for the different "sites" is so that I can authenticate back to their local ldaps and verify that it is a user within their system and authorized to use the site.&nbsp; This actually underscores the need for me to validate that the request is actually coming from within their network and not somewhere else.   </div>   <div>    &nbsp;   </div>   <div>    I understand your concerns about them making changes without me knowing about it, but that will break other services anyway that are related to this process, so I'm actually ok with that part.   </div>   <span style="margin-bottom: 5px; display: block;">&nbsp;</span>   <div id="GroupWiseSection_1444831921000_richardjhornsby@gmail.com" class="GroupWiseMessageBody">    <span class="GroupwiseReplyHeader">&gt;&gt;&gt; Rick Hornsby &lt;<a href="mailto:richardjhornsby@gmail.com" x-apple-data-detectors="true" x-apple-data-detectors-type="link" x-apple-data-detectors-result="4">richardjhornsby@gmail.com</a>&gt; 10/14/2015 10:12 AM &gt;&gt;&gt;<br></span>    <div>     <br>     <div>      <blockquote>       <div>        On Oct 14, 2015, at 08:11, Keith Larson &lt;        <a href="mailto:klarson@k12group.net">klarson@k12group.net</a>&gt; wrote:       </div>       <br class="Apple-interchange-newline">       <div>         <meta content="IE=edge">         <meta name="Generator" content="Novell Groupwise Client (Version 14.0.0  Build: 115243)">         <div style="font: 10pt/normal Segoe UI; margin: 16px 16px 4px; font-size-adjust: none; font-stretch: normal;">         <div id="GroupWiseSection_1444827994000_klarson@k12group.net_59511A0513870000BD1BF681F57056B0_" class="GroupWiseMessageBody">          <div>           is it possible to present a different instance of a page based on the source ip address?&nbsp; ie.&nbsp; two customers A and B.&nbsp; i want customer A to see a different version of a webpage than customer B.&nbsp; they have different ip ranges that they would be coming from based on their external nat.&nbsp; i would think that this can be done, but i'm not exactly sure how.&nbsp; i've done named virtual hosts with no problems.          </div>          <div>           &nbsp;          </div>          <div>           i also don't want customer A to be able to see customer B's version or even know that it exists.          </div>         </div>        </div>       </div>      </blockquote>      <div>       <br>      </div>      <div>       This is going to seem harsh, but my suggestion comes from experience. &nbsp;I've begged clients not to go down this road because it inevitably comes back to bite them, and usually me as well.      </div>      <div>       <blockquote>        <div style="margin: 16px 16px 4px; font-family: &quot;Segoe UI&quot;; font-size: 10pt;">         <div id="GroupWiseSection_1444827994000_klarson@k12group.net_59511A0513870000BD1BF681F57056B0_" class="GroupWiseMessageBody">          <div>           is it possible to present a different instance of a page based on the source ip address?          </div>         </div>        </div>       </blockquote>      </div>      <div>       <br>      </div>      <div>       "Can it be done" is a different question than "should it be done".      </div>      <div>       <br>      </div>     </div>The answers are yes and no, respectively. &nbsp;An IP address, or even a range of addresses, is not a great way to handle authorization. &nbsp;IP addresses - especially source addresses - are subject to change without warning. &nbsp;Chances are the customer that's using your site won't even know about the change. &nbsp;The site will just break for them. &nbsp;Unless you're acting as the customer's ISP, you don't know or control the source address range. &nbsp;In a very simple example along the same lines, what happens when the customer is on the road, and wants to pull up your site from his phone? &nbsp;What will he see?     <div>      <br>     </div>     <div>      There are a couple of alternative approaches, one you've already hit on - named virtual hosts. &nbsp;Give each customer a different site name. &nbsp;It adds administrative overhead (you have to keep a list, and customers have to remember a unique site name), but it's something in your control and does not depend on external information (source address) you don't control.     </div>     <div>      <br>     </div>     <div>      Another alternative is authentication. &nbsp;If the content of the site is really proprietary to a customer (or might be in the future), you probably want to protect it. &nbsp;You could use the same login page for everyone, and then present them with distinct content after they have been identified/authenticated based on who they are. &nbsp;In the edu space, the site content may now or in the future (depending on what customers put on their site) be subject to FERPA, so setting up authentication now might be a good long-term investment.     </div>     <div>      <br>     </div>     <div>      <br>     </div>     <div>      <br>     </div>     <div>      -rick     </div>    </div>   </div>  </div>  <br><br></div>