试图让Shiny应用程序加载而不使用尾部斜线。 这是我的网站启用
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name mschwarz.us; location /shiny/ { proxy_pass http://127.0.0.1:3838/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; rewrite ^(/shiny/[^/]+)$ $1/ permanent; } location /rstudio/ { proxy_pass http://127.0.0.1:8787/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; }
}
当我去http://mschwarz.us/shiny/test-apps/hello时会发生什么,我被redirect到http://mschwarz.us/test-apps/hello/
这是shiny日志中的最后几行:
^[[33m[2017-02-26 22:50:57.118] [WARN] shiny-server - ^[[39mNo host header sent by user-agent undefined ^[[31m[2017-02-27 07:18:07.658] [ERROR] shiny-server - ^[[39mFailed to render error 500 page: Can't set headers after they are sent.
谢谢!
这条线
rewrite ^(/shiny/[^/]+)$ $1/ permanent;
导致添加尾随斜杠,您添加斜杠为每个请求开始/shiny/是这一行的另一个原因? 没有斜线在最后是
rewrite ^(/shiny/[^/]+)$ $1 permanent;