Annotation of loncom/html/adm/help/tex/Domain_Configuration_WAF_Proxy.tex, revision 1.2
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
! 20: a node supporting Shibboleth Single Sign On, will use the alias when redirecting to /adm/sso.
1.1 raeburn 21:
22: \item\textbf{Determining a user's remote IP address}
23:
24: In order for LON-CAPA to reliably determine a remote user's IP address for inclusion
25: in the record of the user's LON-CAPA transactions, a list of IP address(es)
26: which the WAF uses to connect to a domain's servers, i.e., the WAF's Trusted IP range(s)
27: is needed. The name of the header item, added by the WAF when forwarding a request,
28: which contains the user's remote IP address is also needed.
29:
30: For the item: ``Method for determining user's IP'', select one of:
31:
32: \begin{itemize}
33: \item Use Apache mod\_remoteip
34: \item Use headers parsed by LON-CAPA
35: \item Not in use
36: \end{itemize}
37:
38: If mod\_remoteip is in use then the Apache configuration must be modified on each
39: of the domain's LON-CAPA servers to include the following:
40:
41: \begin{itemize}
42:
43: \item RemoteIPHeader
44: \item RemoteIPTrustedProxy
45:
46: \end{itemize}
47:
48: where RemoteIPHeader contains the name of the item in the headers sent by the WAF
49: which holds the user's remote IP address, and where RemoteIPTrustedProxy is a
50: space separated list of IP ranges from which the WAF's servers will connect to LON-CAPA.
51:
52: If mod\_remoteip will not be used then the Apache configurations can be left unchanged,
53: but the same information will need to be provided via the ``Request header remote IP''
54: textbox and the ``Trusted IP range(s)'' text area in the WAF/Reverse Proxy domain
55: configuration. If ``Not in use'' is chosen (not recommended), that information is not
56: required, but the IP address logged will be the address used by the WAF itself when
57: forwarding the user's request to LON-CAPA.
58:
59: \item\textbf{Apache log file format}
60:
61: In order for Apache log files to log a user's remote IP address a modification is needed
62: to the LogFormat entry in the appropriate Apache config file(s). If using mod\_remoteip
63: prepend \%a (or replace \%h with \%a), otherwise prepend \%\{X-Forwarded-For\}i or replace
64: \%h with that string.
65:
66: \item\textbf{Access for VPN users}
67:
68: If some users in the domain will access LON-CAPA when connected to the campus network
69: via the institution's VPN service, you may optionally choose to allow VPN users to
70: connect to LON-CAPA without using the WAF. A reason for doing that would be to configure
71: LON-CAPA to log the internal IP address assigned to each user's VPN session instead
72: of logging one of the backend IP addresses assigned for campus communication with WAF.
73:
74: For the item: ``Access from institutional VPN'', select one of:
75:
76: \begin{itemize}
77: \item Access via regular hostname (no WAF)
78: \item Access via aliased hostname (WAF)
79: \end{itemize}
80:
81: If VPN users will not use WAF, but other users will, then the following are needed:
82:
83: \begin{itemize}
84: \item IP Range for backend WAF connections
85: \item Internal IP Range(s) for VPN sessions
86: \end{itemize}
87:
88: \item\textbf{Forwarding http and https requests}
89:
90: If using WAF select one of:
91:
92: \begin{itemize}
93: \item WAF forwards both http and https requests to https
94: \item WAF forwards http requests to http and https to https
95: \end{itemize}
96:
97: \end{enumerate}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>