首先,我对在docker和shiny上托管闪闪发光的应用程序非常新手。我使用的术语可能有点外行,而且不正确。
我的应用程序在shinyproxy上运行良好,可以通过serveripaddress:8080/app/01_hello访问。
当我尝试使用链接时,问题就来了。theapp.company.com而不是ip地址。这就是当我进入链接时所显示的内容:

下面是01_hello nginx配置文件的必要部分:
location / {
proxy_pass http://localhost:8080/app/01_hello;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
proxy_redirect off;
proxy_set_header Host $http_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;
}但当我将proxy_pass更改为:
proxy_pass http://localhost:8080;然后转到theapp.company.com,它显示了shinyproxy上所有应用程序的登陆页面,然后我可以转到theapp.company.com/app/01_hello,它可以工作,但不是我想要的。
我只希望它是theapp.company.com。我怎样才能做到这一点?
发布于 2022-09-20 21:08:38
我有一个非常相似的设置,它对我有效。我认为问题在于,您在proxy_pass中使用的是"app“而不是”proxy_pass“。这是我的nginx代理配置(localhost而不是127.0.0.1或0.0.0.0应该可以):
location / {
proxy_pass http://127.0.0.1:8080/app_direct/mimosa/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
proxy_redirect off;
proxy_set_header Host $http_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;
}使用/app/ path似乎混淆了shinyproxy。如果您通过java直接运行shinyproxy (使用您的安装程序),您将看到不匹配正确URI的请求。您还可以检查控制台(铬中的F12),它显示资源加载失败。
不确定这是否可以通过nginx配置轻松地修复。
通常,不需要顶部的导航条,因此app_direct是一个简单的解决方案。希望能帮上忙。如果没有,您可以发布整个nginx配置和application.yml吗?(您可以移除敏感部件)
https://stackoverflow.com/questions/72797134
复制相似问题