做海南旅游网站的初衷,自动发货网站建设,网址大全下载安装,网站建设栏目流程问web项目的代理#xff0c;业界常用的方案是nginx做代理#xff0c;这个是网上最多资料的。
因为我需要做自己的流量转发#xff0c;也就是所有访问都要经过我的一个流量分发微服务#xff0c;这和nginx作用冲突了。如果再加个nginx来做第一层方向代理和网页的静态资源代…问web项目的代理业界常用的方案是nginx做代理这个是网上最多资料的。
因为我需要做自己的流量转发也就是所有访问都要经过我的一个流量分发微服务这和nginx作用冲突了。如果再加个nginx来做第一层方向代理和网页的静态资源代理的话那么就多了一层哪怕都在一台服务器里那也是多了一层性能损耗所以我就在想golang没有自己的网页代理方案吗不应该呀非要依赖nginx
网上的资料模模糊糊提到gin框架有静态资源代理的方法。但是有写得不是很具体。我实测是可以做到的。
第一步打包web项目
打包完后的目录结构大概是这样的
gin 路由编写 //前期的gin配置和普通项目一样即可比如中间件等该加就加。这里简写router gin.Default()// 静态资源代理router.Static(/assets,./dist/assets)router.StaticFile(/,./dist/index.html)对就这样就可以了。浏览器直接打开localhost:8080(假设端口是8080)就可以访问了。 PS当然跨域的问题还是得解决的。不然一样会提示。
为什么不能在本地直接打开index.html?
经过上面的尝试我感觉gin也没做啥呀怎么就可以了呢感觉就是把index.html文件发送给浏览器而已。
我就想为什么不能在浏览器打开index.html访问呢 有疑问总得尝试下嘛。 直接用浏览器打开 一片空白打开F12查看 哦是因为访问不到打包的两个资源于是我就看看: 这不是路径不对吗那就把index里的路径引用改为相对路径 刷新再看看 css文件已经可以正常引用了再看看这个js一直报cors跨域错误 请求的路径已经是对的了就是跨域不允许访问也对浏览器为了安全是不允许这样加载js文件的。 这个跨域是真的烦好人也不放过
于是网上看看有没有解决办法找到这么一个方案 思路就是把浏览器的跨域安全给禁用。以chrome浏览器为例
复制你的快捷方式一份然后右键选择属性在目标中的后面加上其中参数--disable-web-security --user-data-dirc:\chomerdata注意有个空格完整的启动参数如下C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe --disable-web-security --user-data-dirc:\chomerdata从这个快捷方式启动浏览器然后将index.html拖动到浏览器打开就可以解决跨域了
尝试一下可以但肯定不是可行的方案毕竟浏览器的安全丢失了。
虽然没有找到可行的本地启动web网页的好方案但是也帮我了解了web项目打包之后就是那么点东西理论上无需对其他工具有依赖只需要有浏览器即可启动。