这段时间做的是基于H5一个售卖平台。前后端分离,H5负责展现,NETTY写了一个接口服务,提供API调用,通过CHROME运行本地H5(类似于file:///H:/index.html),进行数据的交互和访问。
此种方式会存在跨域问题,因此 ,在启动此H5的时候,增加如下参数可以避免跨域问题的发生
chrome.exe" --enable-file-cookies
--allow-file-access-from-files //主要是这句
当然,NETTY也必须要支持跨域的请求操作
具体见
@Override
public void initChannel(SocketChannel ch) {
//重点
CorsConfig corsConfig = CorsConfigBuilder.forAnyOrigin().allowNullOrigin().
allowCredentials().
allowedRequestMethods(methods).
allowedRequestHeaders(requestHeaders).
build();
ChannelPipeline p = ch.pipeline();
if (sslCtx != null) {
p.addLast(sslCtx.newHandler(ch.alloc()));
}
//重点
p.addLast(new CorsHandler(corsConfig));
CHROME已经对本地访问做了安全限制 ,所以在启动CHROME的时候,需要加上如下参数
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files