我在 Docker 容器中運行帶有 Python 3 / Django 3 應用程式的 Apache 2.4。如果我的 Apache 容器收到帶有“/api”的請求,我想將該請求重定向到 Python 容器。所以如果我的 Apache 請求是
http://localhost:9090/api/states/US
我想使用 URL 重定向到 Python 容器
http://web:8000/states/US
在我的虛擬主機檔案中,我有
<VirtualHost *:80>
ServerName directory.example.com
ProxyPassMatch ^/api http://web:8000/(.*)
ProxyPassReverse ^/api http://web:8000/(.*)
但是當我請求“http://localhost:9090/api/states/US”時,我在我的 Docker 日志中得到了這個
maps-web-1 | Not Found: /(.*)/api/states/US
maps-apache-1 | 172.23.0.1 - - [30/Jun/2022:20:23:49 0000] "GET /api/states/US HTTP/1.1" 404 6128
所以顯然我的 ProxyPassMatch 是不正確的。我該如何正確設定?
uj5u.com熱心網友回復:
從外觀上看,您已經錯過了報價。嘗試類似的東西
ProxyPassMatch "/api(.*)" "http://web:8000$1"
ProxyPassReverse "/api(.*)" "http://web:8000$1"
上面的 (.*) 是一個弧形括號選擇器,它查找 /api 之后的所有內容并將其放置在下一個字串的 $1 位置。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/498329.html
上一篇:執行PHP腳本而不重定向
下一篇:Rust:異步不并發
