You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shiny Server+Nginx+HTTPS配置后应用访问404问题求助

解决Shiny Server HTTPS访问应用404的问题

你的核心问题出在Nginx配置里的try_files指令,它会优先在本地文件系统里查找请求路径,找不到就直接返回404,根本没把请求转发到Shiny Server;另外反向代理缺少几个关键请求头,也会导致Shiny Server无法正确解析请求路径。

修复后的Nginx配置

修改/etc/nginx/sites-available/shiny-server文件,调整配置如下:

server {
 listen 80 ;
 listen [::]:80 ;
 server_name myURL.com;

 # 把所有HTTP请求永久重定向到HTTPS(推荐做法)
 return 301 https://$host$request_uri;
}

# 单独处理HTTPS请求
server {
 listen [::]:443 ssl ipv6only=on;
 listen 443 ssl;
 server_name myURL.com;

 # Certbot自动生成的SSL配置保留不动
 ssl_certificate /etc/letsencrypt/live/myURL.com/fullchain.pem; # managed by Certbot
 ssl_certificate_key /etc/letsencrypt/live/myURL.com/privkey.pem; # managed by Certbot
 include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
 ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

 location / {
 # 移除try_files,让所有请求直接转发到Shiny Server
 proxy_pass http://server.ip.address:3838/;
 proxy_redirect off;
 proxy_http_version 1.1;

 # 添加关键请求头,确保Shiny Server正确识别请求
 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;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection $connection_upgrade;

 proxy_read_timeout 20d;
 }
}

关键修改点说明

  1. 移除try_files指令:这是导致404的直接原因——原来的配置会先去/var/www/html下找请求路径,找不到就直接返回404,完全没触发反向代理转发到Shiny Server。
  2. 拆分HTTP/HTTPS server块:把HTTP请求单独做301重定向,既符合安全规范,也让配置逻辑更清晰。
  3. 补充反向代理请求头:
    • Host $host:让Shiny Server知道用户实际访问的域名,避免路径解析错误
    • X-Forwarded-Proto $scheme:告诉Shiny Server当前请求是通过HTTPS发起的
    • 其他头用于传递客户端真实IP,方便日志排查和应用调试

验证步骤

  1. 先检查Nginx配置是否合法:
    sudo nginx -t
    
  2. 配置没问题的话,重启Nginx和Shiny Server:
    sudo systemctl restart nginx
    sudo systemctl restart shiny-server
    
  3. 现在访问https://myURL.com,应该能正常看到Shiny应用列表,点击示例应用也不会再返回404了。

你的shiny-server.conf默认配置没问题(HTTP访问正常已经验证过),不需要修改。

内容的提问来源于stack exchange,提问作者Adrian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:54:47