janusec
janusec copied to clipboard
如何处理静态文件,比如图片在本地磁盘,还有nginx对应多个server的情况如何处理
如何处理静态文件,比如图片在本地磁盘 之前用nginx是 本地磁盘文件映射到nginx的location 是我要waf -> nginx -> app吗 有没有可能是 waf -> app
如果使用waf -> nginx -> app 这种情况的话, 我如果一个nginx 有多个server的情况 因为域名已经指向了waf 那反向代理到ip是如何区分多个server呢
@zhyale
如果您使用JANUSEC应用网关,不需要nginx,JANUSEC应用网关自身就支持发布静态网站或静态资源(在没有后端服务器的情况下),需要将路由类型选择为 Static_Site ,默认文件通常为 index.html 。 如果有多个后端服务器,可以在路由配置那里增加路由(在可编辑状态,点击路由设置右边的加号)。 具体配置可参考 https://www.janusec.com/download/Janusec-Application-Gateway-Configuration-Guide-CN.pdf
我把JANUSEC部署在了A服务器, 但是应用在B服务器,B服务器有个前后端分离项目,B的后端服务会上传一些文件,保存到了B服务器,之前是使用nginx将上传的文件设置为静态路径访问,现在如果访问使用JANUSEC,怎么设置B的上传文件为静态资源访问。 @zhyale
如果需要上传静态资源文件,那么只配置简单的反向代理转发即可(Reverse_Proxy),不用配置Static_Site,因为你的应用无法读写JANUSEC下面的目录。
如果需要上传静态资源文件,那么只配置简单的反向代理转发即可(Reverse_Proxy),不用配置Static_Site,因为你的应用无法读写JANUSEC下面的目录。
也就是说 最好的情况 还是我用janusec 反向代理目标服务器的nginx 用目标服务器nginx做静态文件缓存 这样可以防止janusec访问静态文件也去后端应用服务器
是的,反向代理是最通用的功能
是的,反向代理是最通用的功能
我还有一个问题 在反向代理后面端口必须吗 我Reverse_Proxy对应的另一台机器的nginx 使用域名, 如果还加端口的话 调到反向代理的nginx的server就不是域名的server了 而是第一个server
我现在后端服务在另一台机器,这个机器和janusec同属于一个内网
nginx配置如下
这里nginx 配置了两个server
第一个是配置的一个外网域名,假如是api.abc.com
第二个是配置的一个内网域名,假如是api.abc.internal 并且已经在jansuec机器的hosts文件配置了对应的内网ip
然后我再janusec配置反向代理如下
应用经过jansuec反向代理后,到nginx,nginx被第一个server拦截到,没有达到预期,这个问题不知道能怎么排查下吗?
@zhyale
配置那里需要按照指定的格式,需要是 IP:Port 的格式,不支持域名。
配置那里需要按照指定的格式,需要是 IP:Port 的格式,不支持域名。
好吧 就是目前我的这种需求应该是不支持的是吧
配置那里需要按照指定的格式,需要是 IP:Port 的格式,不支持域名。
好吧 就是目前我的这种需求应该是不支持的是吧
初步判断可以支持,将外网域名指向JANUSEC应用网关,且网关中仅配置使用外网域名,网关会自动将该域名传给后端服务器。内网域名不用。图中写IP的地方就填写内网IP地址,配域名的地方仅配置外网域名。
配置那里需要按照指定的格式,需要是 IP:Port 的格式,不支持域名。
好吧 就是目前我的这种需求应该是不支持的是吧
初步判断可以支持,将外网域名指向JANUSEC应用网关,且网关中仅配置使用外网域名,网关会自动将该域名传给后端服务器。内网域名不用。图中写IP的地方就填写内网IP地址,配域名的地方仅配置外网域名。
目前应该不太好使用ip 因为我B的服务器上用nginx做了本地文件的服务,而且对应多个项目(均是前后端分离的),如果使用ip直接指到B服务器的nginx 就没有办法区分是哪个服务了,如果使用ip,在janusec需要配置多个反向代理,这个配置对于只是接口或者后端服务是可以的,但是如果是前后端分离的项目的前端静态页面 就需要把界面放到janusec服务器,而且其对应的静态资源也要放到janusec服务器,就是这边需求应该是两个 ,第一是外网只走janusec即可,janusec反向代理的服务都走内网;第二是服务对象的静态资源不走动态服务器,只走静态服务器,所以真实服务所在的服务器可能还需要nginx一层。 如果目前这种情况,想实现上面的目标,可能我需要把静态资源放到janusec服务器, 那真实服务器上传的文件等又要同步到janusec服务器,发布项目的时候也要把后端发布到真实服务器,前端发布到janusec服务器,这样可能有点太麻烦。 如果janusec反向代理可以写内网域名的话这个就可以解决,想知道反向代理不能填域名只能填ip加端口的设计是有什么原因吗,后续是否可以支持反向代理域名呢? @zhyale
JANUSEC会把用户侧域名带给后端服务器的,不影响后端仅使用域名,填写IP是为了直接寻址。
用户侧的域名是外网域名吧 如果像使用本地域名 就是自己配置到/etc/hosts里的 可以带过去吗,就是反向代理中填写本地域名
用户侧的域名是外网域名吧 如果像使用本地域名 就是自己配置到/etc/hosts里的 可以带过去吗,就是反向代理中填写本地域名
是的,外网域名。测试场景,用户侧hosts也可以。网关上的hosts不会带过去。
是否后期可以把反向代理的域名(配置本地域名)带过去,或者可以修改请求头来实现