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

OnionShare部署React+Spring Boot应用:CSS不渲染及REST请求报错

问题排查与解决方案

CSS无法渲染的修复方向

  • 修正路径配置:OnionShare的服务根路径和Netlify存在差异,检查React项目里的CSS引用路径。要么把public/index.html里的CSS链接改成相对路径(比如./css/style.css,别用绝对路径/css/style.css),要么在package.json里加"homepage": ".",让构建时生成正确的相对路径。
  • 确认静态资源完整性:检查构建后的React静态文件(CSS、JS、图片等)是否都完整上传到OnionShare,没有遗漏或路径错误。可以直接访问OnionShare服务下的CSS文件URL(比如http://xxx.onion/css/main.xxx.css),看能不能正常下载。
  • 排查MIME类型:OnionShare可能没给CSS文件设置正确的MIME类型,导致浏览器识别不了。如果是手动部署,要确保服务返回Content-Type: text/css响应头。

REST请求错误的修复方向

  • 调整Spring Boot的CORS配置:后端的CORS规则可能没允许OnionShare的洋葱域名。修改Spring Boot的CORS配置,测试阶段可以先允许所有来源,生产环境再换成实际的洋葱域名:
    @Configuration
    public class CorsConfig implements WebMvcConfigurer {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedOrigins("*") // 生产环境替换为实际洋葱域名
                    .allowedMethods("GET", "POST", "PUT", "DELETE")
                    .allowedHeaders("*");
        }
    }
    
    注意:No CORS插件在Tor网络环境里可能因为代理特性失效,别依赖插件解决CORS问题。
  • 修正API请求地址:前端代码里的API地址可能硬编码了Netlify的域名,部署到OnionShare后要改成后端的洋葱服务地址。比如在src/config.js里配置:
    export const API_BASE_URL = process.env.REACT_APP_API_URL || "http://你的后端洋葱地址:端口";
    
    构建时用环境变量传入正确地址,别写死。
  • 确认后端的Tor网络可达性:如果后端部署在公网,Tor网络可能无法直接访问,导致请求失败。这种情况要把后端也部署成Tor隐藏服务,确保前端能通过洋葱域名访问到。

额外检查项

  • 确认OnionShare的服务模式:要选"Website"模式上传React构建后的build文件夹,别用普通的文件共享模式。
  • 清理浏览器缓存:清除Tor浏览器的缓存后重新加载页面,避免旧缓存导致的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 20:37:37