簡體   English   中英

Apache:代理URL中指定的unix套接字

[英]Apache: proxy to unix socket named in URL

我正在構建一個設置,其中一個主機運行一堆Docker容器來測試不同的代碼分支,我想訪問容器中正在運行的webserver。

所有容器都在host運行。 每個容器通過主機上的unix套接字提供Web應用程序,例如/var/sockets/<socket_name>

我想要的是host上的apache基於url代理容器,這樣當我GET https://<host>.com/<socket_name>/my_url ,apache代理<socket_name>請求: GET https://<host>.com/my_url 也就是說,它識別url中的套接字名稱,重寫url並將其發送到該套接字。

這可能嗎? 我仍在閱讀文檔,但似乎找不到任何提示

基於網上的各種文檔,其思想是分兩步包含mod_proxymod_rewrite ,即URL應被處理以提取套接字名稱並在沒有該部分的情況下進行重寫,並且代理應基於新的(縮短的) )URL和套接字名稱。

這里是如何可能看起來像:

RewriteEngine On
RewriteRule      /(.*)/(.*)  http://%{HTTP_HOST}/$2    [P]
ProxyPass        /           unix:/var/sockets/$1.sock|http://%{HTTP_HOST}/
ProxyPassReverse /           unix:/var/sockets/$1.sock|http://%{HTTP_HOST}/

我將我的建議提交給(.*)表達式,這些表達式將提取感興趣的兩個參數。 然后我們重寫URL,並通過P標志表示結果將傳遞給代理。 后來我們指定兩個相同ProxyPassProxyPassReverse並指定Unix套接字路徑,管| 分隔符和主機基地址。

我希望這可以起作用,或者至少給你一些我們要尋找的草圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM