<div dir="ltr"><div><div><div>Thanks Stuart,<br><br></div>Is it "safe" to remove $data{'ip'} ne $ENV{'REMOTE_ADDR'} temporarily until a solution can be found? In the past, this problem occurs infrequently but now I see it very often each day.<br>
<br></div>Regards,<br></div>-hk<br><div><div><br><br></div></div></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr">H. K. Ng<br>Associate Professor of Physics<br>Department of Physics<br>Florida State University<br>
Tallahassee, FL 32306-4350</div></div>
<br><br><div class="gmail_quote">On Thu, Sep 19, 2013 at 5:42 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">
Hi,<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Some how when the session is transferred from the lonbalancer to the 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>
</blockquote>
<br></div>
Looking at the lonbalancer code in LON-CAPA 2.10.1, I see that $ENV{'REMOTE_ADDR'}, as reported by the client browser, needs to be consistent across two stages in the LON-CAPA log-in process involving a 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 lonbalancer<br>
(b) from the page reload included in the response from the /adm/switchserver browser's refresh within the meta tag:<br>
<meta http-equiv="Refresh" content="0.5"; url=http://<otherserver>/adm/<u></u>login" /><br>
<br>
where <otherserver> is the hostname of the LON-CAPA server which will host the user's session after transfer from the lonbalancer server.<br>
<br>
See lines 81-84 of /home/httpd/lib/perl/Apache/<a href="http://migrateuser.pm" target="_blank">mi<u></u>grateuser.pm</a> ...<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 the frozen hash stored in /home/httpd/perl/tmp (identified by token).  The frozen hash on the target server will have originally been stored by /home/httpd/lib/perl/Apache/<a href="http://switchserver.pm" target="_blank">sw<u></u>itchserver.pm</a> running on the lonbalancer server.<br>

<br>
In the case of connections through a cellular network, the comparison between $data{'ip'} and $ENV{'REMOTE_ADDR'} could fail if the service provider is using multiple gateways with multiple IP addresses, and the particular gateway used for a student's wireless connection changes between a client browser's calls to /adm/login and /adm/migrateuser.<div class="im HOEnZb">
<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>
</div><div class="HOEnZb"><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<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 to<br>
the lonbalancer, the student is be authenticated and is then transferred to<br>
one of the access server. However, the session immediately got kick back to<br>
the lonbalancer, and because the system uses SSO, it immediately 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 like<br>
<br>
ssl_access_log:ip address - - [18/Sep/2013:15:23:31 -0400] "GET<br>
/adm/roles?ticket=ST-1954238-<u></u>wIoLGFGIQacDNCdcsrXy-casprd2 HTTP/1.1" 200<br>
11318<br>
<br>
ssl_error_log:[Wed Sep 18 15:10:33 2013] [error] access to<br>
/home/httpd/html/adm/<u></u>switchserver failed for <ip address>, reason: Cookie<br>
not valid<br>
<br>
In the access server log, there is no entries with the ip address but 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>
<a href="http://loncapa2.fsu.edu/adm/login?domain=fsu&username=xxxxx&token=24824_128_186_7_151_9" target="_blank">http://loncapa2.fsu.edu/adm/<u></u>login?domain=fsu&username=<u></u>xxxxx&token=24824_128_186_7_<u></u>151_9</a>"<br>

"Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) 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 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>
<br>
</blockquote>
<br></div></div><div class="HOEnZb"><div class="h5">
______________________________<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>