Annotation of loncom/html/adm/help/tex/Domain_Configuration_WAF_Proxy.tex, revision 1.3

1.1       raeburn     1: \label{Domain_Configuration_WAF_Proxy}
                      2: A LON-CAPA server requires a static IP address, and the hostname included in
                      3: the hosts.tab entry for the server should resolve to that IP address.  If the server is
                      4: part of the LON-CAPA network, the server will need to support connections from other
                      5: servers for both ``internal'' communication via the dedicated LON-CAPA port as well as
                      6: requests to standard web ports when replicating content.
                      7: 
                      8: Consequently, in order to run LON-CAPA server(s) behind a Web Application Firewall
                      9: (WAF), or Reverse Proxy, different hostname(s), or alias(es) to the default hostname
                     10: in /home/httpd/lonTabs/hosts.tab  must be requested by users' web browsers when
                     11: accessing LON-CAPA pages from a domain's server(s) via a WAF.
                     12: 
                     13: \begin{enumerate}
                     14: 
                     15: \item\textbf{Alias for WAF/Reverse Proxy}
                     16: 
                     17: The ``Web Application Firewall/Reverse Proxy'' domain configuration is used to indicate
                     18: if a WAF is in use, and if so, to provide the alias assigned to each LON-CAPA
1.2       raeburn    19: server which will use the WAF.  For each one there is also an option to indicate whether 
1.3     ! raeburn    20: a node supporting Single Sign On, will use the alias when redirecting to the URL used
        !            21: to trigger SSO authentication: default is /adm/sso, but can be set in an Apache config
        !            22: file using: PerlSetVar lonOtherAuthenUrl $<$other URL$>$
1.1       raeburn    23: 
                     24: \item\textbf{Determining a user's remote IP address}
                     25: 
                     26: In order for LON-CAPA to reliably determine a remote user's IP address for inclusion
                     27: in the record of the user's LON-CAPA transactions, a list of IP address(es)
                     28: which the WAF uses to connect to a domain's servers, i.e., the WAF's Trusted IP range(s)
                     29: is needed.  The name of the header item, added by the WAF when forwarding a request,
                     30: which contains the user's remote IP address is also needed.
                     31: 
                     32: For the item: ``Method for determining user's IP'', select one of:
                     33: 
                     34: \begin{itemize}
                     35: \item Use Apache mod\_remoteip
                     36: \item Use headers parsed by LON-CAPA
                     37: \item Not in use
                     38: \end{itemize}
                     39: 
                     40: If mod\_remoteip is in use then the Apache configuration must be modified on each
                     41: of the domain's LON-CAPA servers to include the following:
                     42: 
                     43: \begin{itemize}
                     44: 
                     45: \item RemoteIPHeader
                     46: \item RemoteIPTrustedProxy
                     47: 
                     48: \end{itemize}
                     49: 
                     50: where RemoteIPHeader contains the name of the item in the headers sent by the WAF
                     51: which holds the user's remote IP address, and where RemoteIPTrustedProxy is a
                     52: space separated list of IP ranges from which the WAF's servers will connect to LON-CAPA.
                     53: 
                     54: If mod\_remoteip will not be used then the Apache configurations can be left unchanged,
                     55: but the same information will need to be provided via the ``Request header remote IP''
                     56: textbox and the ``Trusted IP range(s)'' text area in the WAF/Reverse Proxy domain
                     57: configuration.  If ``Not in use'' is chosen (not recommended), that information is not 
                     58: required, but the IP address logged will be the address used by the WAF itself when
                     59: forwarding the user's request to LON-CAPA.
                     60: 
                     61: \item\textbf{Apache log file format}
                     62: 
                     63: In order for Apache log files to log a user's remote IP address a modification is needed
                     64: to the LogFormat entry in the appropriate Apache config file(s).  If using mod\_remoteip
                     65: prepend \%a (or replace \%h with \%a), otherwise prepend \%\{X-Forwarded-For\}i or replace
                     66: \%h with that string.
                     67: 
                     68: \item\textbf{Access for VPN users}
                     69: 
                     70: If some users in the domain will access LON-CAPA when connected to the campus network
                     71: via the institution's VPN service, you may optionally choose to allow VPN users to
                     72: connect to LON-CAPA without using the WAF.  A reason for doing that would be to configure
                     73: LON-CAPA to log the internal IP address assigned to each user's VPN session instead
                     74: of logging one of the backend IP addresses assigned for campus communication with WAF.
                     75: 
                     76: For the item: ``Access from institutional VPN'', select one of:
                     77: 
                     78: \begin{itemize}
                     79: \item Access via regular hostname (no WAF)
                     80: \item Access via aliased hostname (WAF)
                     81: \end{itemize}
                     82: 
                     83: If VPN users will not use WAF, but other users will, then the following are needed:
                     84: 
                     85: \begin{itemize}
                     86: \item IP Range for backend WAF connections
                     87: \item Internal IP Range(s) for VPN sessions
                     88: \end{itemize}
                     89: 
                     90: \item\textbf{Forwarding http and https requests}
                     91: 
                     92: If using WAF select one of:
                     93: 
                     94: \begin{itemize}
                     95: \item WAF forwards both http and https requests to https
                     96: \item WAF forwards http requests to http and https to https
                     97: \end{itemize}
                     98: 
                     99: \end{enumerate}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>