有3种成分,这个问题:闪亮服务器反向nginx的代理不会跟随301重定向
泊坞容器:我有一个部署在EC2实例泊坞窗容器。更具体地讲,我有
rocker/shiny
形象,我一直在使用运行:sudo docker run -d -v /home/ubuntu/projects/shiny_example:/srv/shiny-server -p 3838:3838 rocker/shiny
闪亮服务器:标准闪亮的服务器配置文件是不变,并成立了以服务端口的
/srv/shiny-server
夹中的一切3838,我的本地~/projects/shiny_example
的内容映射到容器的/srv/shiny-server/
。在我的本地
~/projects/shiny_example
,我已经克隆随机闪亮的应用程序:git clone https://github.com/rstudio/shiny_example
nginx的:我已经建立了
nginx
作为反向代理和here在整体上/etc/nginx/nginx.conf
的内容。
的问题是,这种设置,当我试图找回http://<ip-address>/shiny/shiny_example
,我得到一个404的主线索,我有,什么可能是错误的是,当我做:
wget http://localhost:3838/shiny_example
从我的EC2实例在命令行中,我得到:
--2016-06-13 11:05:08-- http://localhost:3838/shiny_example 解决localhost(localhost)... 127.0.0.1
连接到本地主机(本地主机)| 127.0.0.1 |:3838 ...已连接。
HTTP请求发送的,在等待响应... 301永久移动
位置:/ shiny_example/[以下]
--2016-06-13 11:05:08-- http://localhost:3838/shiny_example/
将现有连接重用到localhost:3838。
HTTP请求发送的,在等待响应... 200 OK
长度:3136(3.1K)的text/html]
保存到: 'shiny_example.3'
100%[ ================================================== ================================================== ============================] 3,136 - .- K/s在0.04s
2016-06-13 11: 05:09(79.6 KB/s) - 'shiny_example。3'保存[3136/3136]
其中重点是我的。
我认为我的nginx配置没有考虑到请求Docker映射端口时出现301重定向的情况。我认为该解决方案涉及proxy_next_upstream
,但我希望在尝试在我的上下文中进行设置时提供一些帮助。
我也认为这个问题可以忽略Docker上下文,但是理解如何在从Docker容器中的Shiny服务器请求资源时阻止301重定向,以及此行为是否为预期。
您是否正在与'http:///shiny/shiny_example'或'http:// :3838/shiny/shiny_example /'进行外部连接?这将有助于您展示失败的wget命令。请注意,重定向只是为您的url添加了一个尾部斜线,这不是Docker在做301. –
BMitch
@BMitch nginx正在侦听80并反向代理'localhost:3838'。另外请注意,'wget'不是失败,而是正在处理301。 – tchakravarty
@BMitch所以,为了明确起见,我正在通过外部连接'http:///shiny/shiny_example /'。问题中包含'wget'的输出。 –
tchakravarty