两个 docker 容器在端口 60000 和 60002 上运行两个网站,其中 apache 作为服务器 nginx docker(使用 nginx docker 镜像创建)作为托管在端口 61001 上的反向代理 IP地址是10.0.2.15 当调用 http://10.0.2.15:61001/app1 时,它返回一个空白网站 检查网络后,返回502 bad gateway
server {
listen 80;
server_name 10.0.2.15;
location /app1/ {
proxy_pass http://10.0.2.15:60000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /app2/ {
proxy_pass http://10.0.2.15:60002/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
这是 nginx docker 容器中的default.conf 文件
理想情况下,所有内容都应访问 http://10.0.2.15:61001/app1/static/ React 应用程序也都是带有路由的应用程序 或者有没有更好的方法来实现这个
http {
server {
server_name 10.0.2.15;
listen 80;
listen [::]:80;
location /app1 {
set $url "http://10.0.2.15:60000"; # or try your lan ip
}
location /app2 {
set $url "http://10.0.2.15:60002"; # or try your lan ip
}
}
}
你可以试试这个