<div dir="ltr"><div><div><div><div>Hi,<br><br></div>I am trying to verify that this bug has been fixed with 2.11 but I notice at least one instance where the lonbalancer is not hosting the session. This is what I have set the configuration (as dc) -> Set domain configuration/Dedicated Load Balancer(s)/SSO users from fsu. with IP mismatch set to session hosted by load balancer, after re-authentication (same setting for non-sso users). However, I got a message from a student who claimed that he cannot access his course and checking the logs, it appears, the session is not hosted by the load balancer. Does some daemon need to be restart or reload if there is a change in configuration?<br>

<br></div>On a related issue, on the fsuK12 domain, there is an option to set SSO users but none for non-sso users. All the fsuK12 are non-sso. So is there a way to activate the option for non-sso users?<br><br></div>Thanks,<br>

</div>-hk<br><br><div><div><div><br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Sep 21, 2013 at 1:05 PM, Stuart Raeburn <span dir="ltr"><<a href="mailto:raeburn@msu.edu" target="_blank">raeburn@msu.edu</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">Hi,<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Is it possible to have the lonbalancer hosts the session if different IP<br>
address is detected? The reason is so that I don't have add another server<br>
with SSO.<br>
</blockquote>
<br></div>
Yes. That sounds like a reasonable option.<br>
<br>
I have included that as an additional option for incorporation in the changes to address bug 6675; see -- <a href="http://bugs.loncapa.org/show_bug.cgi?id=6675" target="_blank">http://bugs.loncapa.org/show_<u></u>bug.cgi?id=6675</a><div class="">

<br>
<br>
Stuart Raeburn<br>
LON-CAPA Academic Consortium<br>
<br>
<br>
Quoting hkng <<a href="mailto:hkng@fsu.edu" target="_blank">hkng@fsu.edu</a>>:<br>
<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br><div class="">
Is it possible to have the lonbalancer hosts the session if different IP<br>
address is detected? The reason is so that I don't have add another server<br>
with SSO.<br>
<br>
Thanks,<br>
-hk<br>
<br>
<br>
On Friday, September 20, 2013, Stuart Raeburn wrote:<br>
<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">
Hi hk,<br>
<br>
 Is it "safe" to remove $data{'ip'} ne $ENV{'REMOTE_ADDR'} temporarily<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
until<br>
a solution can be found?<br>
<br>
</blockquote>
<br>
Personally, I would not do that.<br>
<br>
The IP check has been a part of /adm/migrateuser since rev 1.1.  However,<br>
the current process needs improvement.<br>
<br>
As regards your specific situation where users are accessing LON-CAPA via<br>
a cellular network, my preference would be to require re-authentication,<br>
but have that occur on the server selected to host the session in order to<br>
avoid a repeat of the use of /adm/switchserver and then /adm/migrateuser<br>
(in which their could be yet another client IP change).<br>
<br>
Depending on how SSO is configured, a SSO-authenticated user might not<br>
need to re-authenticate, if you are able to verify the user's SSO<br>
credentials on your regular access servers, as well as on your lonbalancer<br>
server.  It looks as though you currently use CAS single sign on for both<br>
<a href="http://loncapa.fsu.edu" target="_blank">loncapa.fsu.edu</a> and <a href="http://loncapa10.fsu.edu" target="_blank">loncapa10.fsu.edu</a>.<br>
<br>
Anyway I have assigned myself a bug for this --<br>
</div><a href="http://bugs.loncapa.org/show_**bug.cgi?id=6675" target="_blank">http://bugs.loncapa.org/show_*<u></u>*bug.cgi?id=6675</a><<a href="http://bugs.loncapa.org/show_bug.cgi?id=6675" target="_blank">http://bugs.<u></u>loncapa.org/show_bug.cgi?id=<u></u>6675</a>>and will work on it  today.<div>

<div class="h5"><br>
<br>
<br>
Stuart<br>
<br>
Stuart Raeburn<br>
LON-CAPA Academic Consortium<br>
<br>
<br>
Quoting hkng <<a href="mailto:hkng@fsu.edu" target="_blank">hkng@fsu.edu</a>>:<br>
<br>
 Thanks Stuart,<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
<br>
Is it "safe" to remove $data{'ip'} ne $ENV{'REMOTE_ADDR'} temporarily<br>
until<br>
a solution can be found? In the past, this problem occurs infrequently but<br>
now I see it very often each day.<br>
<br>
Regards,<br>
-hk<br>
<br>
<br>
<br>
H. K. Ng<br>
Associate Professor of Physics<br>
Department of Physics<br>
Florida State University<br>
Tallahassee, FL 32306-4350<br>
<br>
<br>
On Thu, Sep 19, 2013 at 5:42 PM, Stuart Raeburn <<a href="mailto:raeburn@msu.edu" target="_blank">raeburn@msu.edu</a>> wrote:<br>
<br>
 Hi,<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
<br>
<br>
 Some how when the session is transferred from the lonbalancer to the<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
access<br>
server, a different ip address is reported to the access server. This is<br>
the only clue I can find as to why the student cannot get to the roles<br>
page. Maybe it is a red herring. So question is has anyone seen this<br>
behavior before? Also, why is the ip address different?<br>
<br>
<br>
</blockquote>
Looking at the lonbalancer code in LON-CAPA 2.10.1, I see that<br>
$ENV{'REMOTE_ADDR'}, as reported by the client browser, needs to be<br>
consistent across two stages in the LON-CAPA log-in process involving a<br>
lonbalancer.<br>
<br>
$ENV{'REMOTE_ADDR'} is retrieved from the client request as follows:<br>
<br>
(a) from the submission of log-in information to /adm/login on the<br>
lonbalancer<br>
(b) from the page reload included in the response from the<br>
/adm/switchserver browser's refresh within the meta tag:<br>
<meta http-equiv="Refresh" content="0.5";  url=http://<br></div></div>
<otherserver>/adm/****login"<div class=""><br>
/><br>
<br>
where <otherserver> is the hostname of the LON-CAPA server which will<br>
host<br>
the user's session after transfer from the lonbalancer server.<br>
<br></div>
See lines 81-84 of  /home/httpd/lib/perl/Apache/**<u></u>mi**<a href="http://grateuser.pm" target="_blank">grateuser.pm</a><<br>
http://**<a href="http://migrateuser.pm" target="_blank">migrateuser.pm</a> <<a href="http://migrateuser.pm" target="_blank">http://migrateuser.pm</a>>>...<div class=""><br>
<br>
if ($data{'ip'} ne $ENV{'REMOTE_ADDR'} || !defined($data{'username'}) ||<br>
    !defined($data{'domain'}) ) {<br>
    return &goto_login($r);<br>
}<br>
<br>
$data{'ip'} is retrieved (by <a href="http://migrateuser.pm" target="_blank">migrateuser.pm</a> on the target server) from<br>
the frozen hash stored in /home/httpd/perl/tmp (identified by token).<br>
 The<br>
frozen hash on the target server will have originally been stored by<br></div>
/home/httpd/lib/perl/Apache/**<u></u>sw**<a href="http://itchserver.pm" target="_blank">itchserver.pm</a>  <<a href="http://switchserver.pm" target="_blank">http://switchserver.pm</a><br>
>**running on the lonbalancer server.<div><div class="h5"><br>
<br>
In the case of connections through a cellular network, the comparison<br>
between $data{'ip'} and $ENV{'REMOTE_ADDR'} could fail if the service<br>
provider is using multiple gateways with multiple IP addresses, and the<br>
particular gateway used for a student's wireless connection changes<br>
between<br>
a client browser's calls to /adm/login and /adm/migrateuser.<br>
<br>
<br>
<br>
Stuart Raeburn<br>
LON-CAPA Academic Consortium<br>
<br>
Quoting hkng <<a href="mailto:hkng@fsu.edu" target="_blank">hkng@fsu.edu</a>>:<br>
<br>
 Hi,<br>
<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
<br>
I posted this question before but never got any response. When student<br>
login using a portable device (like iPad) and using the cellular network<br>
to<br>
the lonbalancer, the student is be authenticated and is then transferred<br>
to<br>
one of the access server. However, the session immediately got kick back<br>
to<br>
the lonbalancer, and because the system uses SSO, it immediately<br>
transfers<br>
the session back to the access server. It forms an endless loop and the<br>
student never get to the roles page.<br>
<br>
Checking the logs this is what I can determine.<br>
<br>
In the activities log, there are lots of sequential entries like<br>
<br>
1379531706:fsua0:Switch Server to fsua2 with role <ip address> almost<br>
always coming from <a href="http://mobile-xxx-mycingular.net" target="_blank">mobile-xxx-mycingular.net</a><br>
<br>
Checking the lonbalancer log (under /var/log/httpd) there are entries<br>
like<br>
<br>
ssl_access_log:ip address - - [18/Sep/2013:15:23:31 -0400] "GET<br></div></div>
/adm/roles?ticket=ST-1954238-*<u></u>***wIoLGFGIQacDNCdcsrXy-<u></u>casprd2<div class=""><br>
HTTP/1.1" 200<br>
11318<br>
<br>
ssl_error_log:[Wed Sep 18 15:10:33 2013] [error] access to<br></div>
/home/httpd/html/adm/****<u></u>switchserver failed for <ip address>, reason:<div class=""><br>
Cookie<br>
not valid<br>
<br>
In the access server log, there is no entries with the ip address but<br>
there<br>
are entries with the username like<br>
<br>
access_log:<different ip address from lonbalancer> - -<br>
[18/Sep/2013:15:10:32 -0400] "GET /adm/login HTTP/1.1" 200 2795 "<br>
</div><a href="http://loncapa2.fsu.edu/adm/****login?domain=fsu&username=**" target="_blank">http://loncapa2.fsu.edu/adm/**<u></u>**login?domain=fsu&username=**</a><u></u><<a href="http://loncapa2.fsu.edu/adm/**login?domain=fsu&username=**" target="_blank">http://loncapa2.fsu.edu/adm/*<u></u>*login?domain=fsu&username=**</a>><br>


xxxxx&token=24824_128_186_7_**<u></u>**151_9<<a href="http://loncapa2.fsu.edu/**" target="_blank">http://loncapa2.fsu.<u></u>edu/**</a><br>
adm/login?domain=fsu&username=<u></u>**xxxxx&token=24824_128_186_7_<u></u>**151_9<<a href="http://loncapa2.fsu.edu/adm/login?domain=fsu&username=xxxxx&token=24824_128_186_7_151_9" target="_blank">http://loncapa2.fsu.<u></u>edu/adm/login?domain=fsu&<u></u>username=xxxxx&token=24824_<u></u>128_186_7_151_9</a>><div class="">

<br>
><br>
"<br>
"Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X)<br>
AppleWebKit/536.26<br>
(KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25"<br>
<br>
Some how when the session is transferred from the lonbalancer to the<br>
access<br>
server, a different ip address is reported to the access server. This is<br>
the only clue I can find as to why the student cannot get to the roles<br>
page. Maybe it is a red herring. So question is has anyone seen this<br>
behavior before? Also, why is the ip address different?<br>
<br>
Any pointers?<br>
<br>
Thanks,<br>
-hk<br>
</div></blockquote></blockquote></blockquote></blockquote></blockquote>
<br><div class="HOEnZb"><div class="h5">
<br>
______________________________<u></u>_________________<br>
LON-CAPA-admin mailing list<br>
<a href="mailto:LON-CAPA-admin@mail.lon-capa.org" target="_blank">LON-CAPA-admin@mail.lon-capa.<u></u>org</a><br>
<a href="http://mail.lon-capa.org/mailman/listinfo/lon-capa-admin" target="_blank">http://mail.lon-capa.org/<u></u>mailman/listinfo/lon-capa-<u></u>admin</a><br>
<br>
<br>
</div></div></blockquote></div><br></div>