Apache-Httpd
nginx 重定向到 EC2 中的 API 伺服器
我有一個 EC2 伺服器(在私有子網中),我在其中執行一些 Python 微服務。從我在 Apps EC2(在公共子網中)上執行的應用程序中,我正在嘗試訪問 Python 微服務。
我在 Apps EC2 (public subnet) 上將 nginx 設置為反向代理。根據我對 nginx 的最小了解,我添加了一個 conf 文件,如下所示:
server { listen 80; server_name 3.23.xxx.xxx EC2-public.test.com; location / { root /var/www/Myapp/App; index index.php index.html index.htm; autoindex on; } #Application APIs on EC2 public location /api { proxy_pass http://myappsip-EC1.:4000; } #My second EC2 Python microservice APIs location /pyserv { proxy_pass http://myprivateEC2-IP:5000/; } }
問題是,如果我在 proxy_pass 中提供絕對路徑,但我無法訪問與它相關的任何路徑,我可以從我的公共 url 訪問微服務 EC2 上的服務。任何相對路徑似乎都是從主 EC2 的根路徑中挑選出來的。
=> EC2-public.test.com/ (primary application - works) => EC2-public.test.com/pyserv (API1 on second EC2 - http://myprivateEC2-IP:5000/- works since given in proxy_pass) => EC2-public.test.com/pyserv/srv1 (API 2 on second EC2 - http://myprivateEC2-IP:5000/srv1 - does not work)
我知道我遺漏了一些東西,因為我似乎沒有提到第二個 EC2 根路徑。但我無法弄清楚如何。
謝謝
您忘記了結尾處的斜線
location /pyserv/
:)