-
Notifications
You must be signed in to change notification settings - Fork 263
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如何处理静态文件,比如图片在本地磁盘,还有nginx对应多个server的情况如何处理 #37
Comments
如果您使用JANUSEC应用网关,不需要nginx,JANUSEC应用网关自身就支持发布静态网站或静态资源(在没有后端服务器的情况下),需要将路由类型选择为 Static_Site ,默认文件通常为 index.html 。 |
我把JANUSEC部署在了A服务器, 但是应用在B服务器,B服务器有个前后端分离项目,B的后端服务会上传一些文件,保存到了B服务器,之前是使用nginx将上传的文件设置为静态路径访问,现在如果访问使用JANUSEC,怎么设置B的上传文件为静态资源访问。 |
如果需要上传静态资源文件,那么只配置简单的反向代理转发即可(Reverse_Proxy),不用配置Static_Site,因为你的应用无法读写JANUSEC下面的目录。 |
也就是说 最好的情况 还是我用janusec 反向代理目标服务器的nginx 用目标服务器nginx做静态文件缓存 这样可以防止janusec访问静态文件也去后端应用服务器 |
是的,反向代理是最通用的功能 |
我还有一个问题 在反向代理后面端口必须吗 我Reverse_Proxy对应的另一台机器的nginx 使用域名, 如果还加端口的话 调到反向代理的nginx的server就不是域名的server了 而是第一个server |
我现在后端服务在另一台机器,这个机器和janusec同属于一个内网 |
配置那里需要按照指定的格式,需要是 IP:Port 的格式,不支持域名。 |
好吧 就是目前我的这种需求应该是不支持的是吧 |
初步判断可以支持,将外网域名指向JANUSEC应用网关,且网关中仅配置使用外网域名,网关会自动将该域名传给后端服务器。内网域名不用。图中写IP的地方就填写内网IP地址,配域名的地方仅配置外网域名。 |
目前应该不太好使用ip 因为我B的服务器上用nginx做了本地文件的服务,而且对应多个项目(均是前后端分离的),如果使用ip直接指到B服务器的nginx 就没有办法区分是哪个服务了,如果使用ip,在janusec需要配置多个反向代理,这个配置对于只是接口或者后端服务是可以的,但是如果是前后端分离的项目的前端静态页面 就需要把界面放到janusec服务器,而且其对应的静态资源也要放到janusec服务器,就是这边需求应该是两个 ,第一是外网只走janusec即可,janusec反向代理的服务都走内网;第二是服务对象的静态资源不走动态服务器,只走静态服务器,所以真实服务所在的服务器可能还需要nginx一层。 如果目前这种情况,想实现上面的目标,可能我需要把静态资源放到janusec服务器, 那真实服务器上传的文件等又要同步到janusec服务器,发布项目的时候也要把后端发布到真实服务器,前端发布到janusec服务器,这样可能有点太麻烦。 |
JANUSEC会把用户侧域名带给后端服务器的,不影响后端仅使用域名,填写IP是为了直接寻址。 |
用户侧的域名是外网域名吧 如果像使用本地域名 就是自己配置到/etc/hosts里的 可以带过去吗,就是反向代理中填写本地域名 |
是的,外网域名。测试场景,用户侧hosts也可以。网关上的hosts不会带过去。 |
是否后期可以把反向代理的域名(配置本地域名)带过去,或者可以修改请求头来实现 |
如何处理静态文件,比如图片在本地磁盘
之前用nginx是 本地磁盘文件映射到nginx的location
是我要waf -> nginx -> app吗 有没有可能是 waf -> app
如果使用waf -> nginx -> app 这种情况的话, 我如果一个nginx 有多个server的情况 因为域名已经指向了waf 那反向代理到ip是如何区分多个server呢
@zhyale
The text was updated successfully, but these errors were encountered: