問題很簡單。兩人如何在 ubuntu 20 遠程服務器上部署兩個不同的 Nodejs 應用程式。App1 應該訪問拋出 http://ip-address:8080 并且第二個 App 應該部署在 http://ip-address:8081 上。這兩個應用程式始終可以從本地主機訪問。我的網路服務器是 apache,這兩個埠在防火墻中被禁用。
所以ufw status回傳以下結果
Status: active
To Action From
-- ------ ----
8080 ALLOW Anywhere
8081 ALLOW Anywhere
80 ALLOW Anywhere
8080 (v6) ALLOW Anywhere (v6)
8081 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
我的 apache2 配置為反向代理,如下所示:
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
ProxyPass / http://127.0.0.1:8081/
ProxyPassReverse / http://127.0.0.1:8081/
ServerAdmin [email protected]
DocumentRoot /var/www/html
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
uj5u.com熱心網友回復:
您通過為這兩種情況提供直接路徑來混淆 Apache。apache 如何知道哪個請求應該重定向到哪個埠?
回答:
ProxyPass /app1 http://127.0.0.1:8080/
ProxyPassReverse /app1 http://127.0.0.1:8080/
ProxyPass /app2 http://127.0.0.1:8081/
ProxyPassReverse /app2 http://127.0.0.1:8081/
如果其他配置到位,我希望這應該可以解決您的問題。應相應地調查任何進一步的錯誤
uj5u.com熱心網友回復:
您可以使用:
ProxyPass /app1 http://localhost:8080/app1
ProxyPassReverse /app1 http://localhost:8080/app1
ProxyPass /app2 http://localhost:8081/app2
ProxyPassReverse /app2 http://localhost:8081/app2
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/394837.html
