R Nginx:代理传递/代理重定向到闪亮的web应用程序

R Nginx:代理传递/代理重定向到闪亮的web应用程序,r,docker,nginx,shiny,R,Docker,Nginx,Shiny,我们正在尝试更新我们的内部服务器基础设施,并通过Nginx服务器代理对我们的R-web服务器的所有访问。我能够从闪亮的服务器得到响应,但我无法通过Nginx服务器获得相关文件,如css/js 设置: 2个docker容器(1个用于托管nginx,1个运行R的容器用于闪亮的应用程序) 两个docker容器都是docker网络的成员 闪亮服务器侦听端口7676(内部ip地址172.18.0.3) nginx服务器承载了几个带有iframe的静态html文件(遗留的,无法使用),这些文件应该显示服务

我们正在尝试更新我们的内部服务器基础设施,并通过Nginx服务器代理对我们的R-web服务器的所有访问。我能够从闪亮的服务器得到响应,但我无法通过Nginx服务器获得相关文件,如css/js

设置:
  • 2个docker容器(1个用于托管nginx,1个运行R的容器用于闪亮的应用程序)

  • 两个docker容器都是docker网络的成员

  • 闪亮服务器侦听端口7676(内部ip地址172.18.0.3)

  • nginx服务器承载了几个带有iframe的静态html文件(遗留的,无法使用),这些文件应该显示服务器的内容

  • 访问nginx server/QueryLandscape.html将加载带有iFrame

  • iFrame工作:它加载R-shinny应用程序的静态部分,但不加载相关的JS/CSS/…(例如
    http://nginx-server:8001/ilandscape/shared/shiny.css

  • 在nginx docker容器中,我可以访问这个css文件
    wget 172.18.0.3:7676/shared/shinny.css

Nginx.conf 我的nginx conf到代理/重定向
http://nginx-server:8001/ilandscape/shared/shiny.css -->172.18.0.3:7676/shared/shinny.css

谢谢你的帮助,
Tobi看起来像是充当浏览器的iFrame正在接收主机名,而不是资源的完整路径。您能否设置以下ReverseProxy标头并试一试:

proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
基本上你现在有一个代理,我们也需要一个反向代理。让我知道这是否有效

proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;