Logan
Logan copied to clipboard
LoganSite启动后提示错误:请求出错Network Error
OS是ubuntu16.04, npm和nodejs版本都满足 README要求。
按照README,在LoganSite目录下创建.env.development ,其内容是 API_BASE_URL=http://10.27.16.144:3000 npm run start启动后,发现2个问题:
- 启动时,web页面提示错误:请求出错Network Error
- Example/Logan-Android示例中,向服务器请求接口http://10.27.16.144:3000/logupload请求时,提示404错误。
请帮忙看一下原因分别是什么
请问服务端使用的是 Logan/Logan/Server 中Java工程么?
请问服务端使用的是 Logan/Logan/Server 中Java工程么?
不是,是Logan/Logan/LoganSite
@rigortek LoganSite只是前端工程,您这边需要同时配置启动后端服务 Logan/Logan/Server ,然后才能接收客户端日志上报,并在 LoganSite 中查看相关日志
@rigortek LoganSite只是前端工程,您这边需要同时配置启动后端服务 Logan/Logan/Server ,然后才能接收客户端日志上报,并在 LoganSite 中查看相关日志
噢,谢谢,我试试。
我修改了LoganSite/src/common/api.js 的 Logan Server 的地址,刷新页面还是:请求出错Network Error, Logan Server 暂时没有数据
解决方法: 在LoganSite根目录下创建文件.env.development,并在其中指定API_BASE_URL环境变量改为: API_BASE_URL=http://localhost:8080/logan-web 注意,这个API_BASE_URL必须是运行Logan Server里控制台打印的URL。同时.env.development一定要放在LoganSite根目录下,并且检查src/common/api.js里的BASE_URL变量是否指向.env.development配置的变量。 参考美团点评大前端日志系统Logan入门指南
LoganSite访问Logan server 提示跨域怎么解决
LoganSite访问Logan server 提示跨域怎么解决
Logan/Server/src/main/webapp/WEB-INF/web.xml 修改这里的配置
<!-- 配置过滤器,解决cors跨域 -->
<filter>
<filter-name>corsFilter</filter-name>
<filter-class>com.meituan.logan.web.filter.CORSFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>corsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
</init-param>
<init-param>
<param-name>cors.exposed.headers</param-name>
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.preflight.maxage</param-name>
<param-value>10</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
LoganSite访问Logan server 提示跨域怎么解决 定义Ingress
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: logan-backend-ingress
spec:
rules:
- host: logan-backend.xxx.com
http:
paths:
- path: /
backend:
serviceName: logan-backend
servicePort: 8888
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: logan-frontend-ingress
spec:
rules:
- host: logan-frontend.xxx.com
http:
paths:
- path: /
backend:
serviceName: logan-frontend
servicePort: 3000
- path: /logan-web
backend:
serviceName: logan-backend
servicePort: 8888
前端域名: logan-frontend.xxx.com 后端域名: logan-backend.xxx.com
在前端域名, logan-frontend.xxx.com 配置一个转发路径(/logan-web), 到后端服务logan-backend:8888, 就不跨域了.