Ich möchte lieber, dass meine Mavericks-Webanwendung einen UNIX-Domain-Socket anstelle eines TCP-Ports verwendet, um einen Reverse-Proxy zu bewirken. Ich habe versucht, Varianten der Apache-Syntax für UDS im proxies
Abschnitt der Web-App-Liste zu verwenden, aber nichts, was ich versucht habe, scheint OS X Server zu gefallen.
Das Proxying an Gunicorn über TCP-Port 8001 scheint im folgenden Code zu funktionieren, aber ich würde lieber Sockets verwenden, wenn ich kann - hält meine Apps von den Apps von OS X Servern getrennt.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>com.iainhouston.django</string>
<key>displayName</key> <!-- Name shown in Server app -->
<string>TDD Django test at /django</string>
<key>installationIndicatorFilePath</key> <!-- The presence of this file indicates web app is installed -->
<string>/usr/local/python_projects/testwsgi3/hello.py</string>
<key>requiredModuleNames</key>
<array>
<string>proxy_module</string>
</array>
<key>proxies</key>
<dict>
<key>/django</key>
<dict>
<key>path</key>
<string>/django</string>
<key>urls</key>
<array>
<string>http://localhost:8001</string>
</array>
</dict>
</dict>
</dict>
</plist>
[Update: tatsächlicher Code oben gepostet]
Wenn du das versucht hast, wäre ich dankbar zu wissen, wie es dir ergangen ist.
Es scheint, dass die Antwort Nein lautet, da OS X Server (Stand heute 3.2.1) mit Apache 2.2 geliefert wird und aus den Apache mod_proxy-Dokumenten hervorgeht, dass UDS-Unterstützung in dieser Version nicht implementiert wurde. Ich habe die Dokumente einer späteren Version gelesen.
Da ich Apache nicht auf unserem Produktionsserver neu kompilieren möchte, muss ich mich mit TCP-Ports begnügen - kein wirkliches Problem.