Kann meine Web-App einen UNIX-Socket auf OS X Server verwenden?

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 proxiesAbschnitt 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.

Antworten (1)

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.