summaryrefslogtreecommitdiffstats
path: root/ipa-server/xmlrpc-server/ipa.conf
blob: 9b73ec69d5b3417fe6d66fcd5388b7e110be6d51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# LoadModule auth_kerb_module modules/mod_auth_kerb.so

# Require kerberos authentication for the entire server

<LocationMatch />
  AuthType Kerberos
  AuthName "Kerberos Login"
  KrbMethodNegotiate on
  KrbMethodK5Passwd off
  KrbServiceName HTTP
  KrbAuthRealms $REALM
  Krb5KeyTab /etc/httpd/conf/ipa.keytab
  KrbSaveCredentials on
  Require valid-user
  ErrorDocument 401 /errors/unauthorized.html
</LocationMatch>

ProxyRequests Off

<Proxy *>
  RewriteEngine on
  Order deny,allow
  Allow from all

  # We create a subrequest to find REMOTE_USER. Don't do this for every
  # subrequest too (slow and huge logs result)
  RewriteCond %{IS_SUBREQ}% false
  RewriteRule .* - [E=RU:%{LA-U:REMOTE_USER}]
  RequestHeader set X-Forwarded-User %{RU}e
  RequestHeader set X-Forwarded-Keytab %{KRB5CCNAME}e

  # RequestHeader unset Authorization
</Proxy>

# The URI's with a trailing ! are those that aren't handled by the proxy
ProxyPass /errors/ !
ProxyPass /ipa !
ProxyPass / http://localhost:8080/
ProxyPassReverse /errors !
ProxyPassReverse /ipa !
ProxyPassReverse / http://localhost:8080/

# Configure the XML-RPC service

Alias /ipa "/usr/share/ipa/ipaserver/XMLRPC"

<Directory "/usr/share/ipa/ipaserver">

  SetHandler mod_python
  PythonHandler ipaxmlrpc
  
  PythonDebug Off

  # Some IPA-specific configuration options
  PythonOption IPADebug Off 

  # this is pointless to use since it would just reload ipaxmlrpc.py
  PythonAutoReload Off
</Directory>