siteserver / cms

SS CMS 基于 .NET Core,能够以最低的成本、最少的人力投入在最短的时间内架设一个功能齐全、性能优异、规模庞大并易于维护的网站平台。
https://sscms.com
GNU Affero General Public License v3.0
3.66k stars 1.21k forks source link

cms大并发+前后台分离的安全部署方案是什么? #3618

Open fsea opened 1 year ago

fsea commented 1 year ago

整体架构:1台后台维护服务器+2台mysql主从服务器+3台redis缓存服务器+14台前台接口服务器(弹性负载)。 需要达到的目标: 1、支持高并发。 2、前后台分离,通过后台维护服务器维护内容及模板,通过rsync向14台前台服务器同步;14台前台服务器禁止登录后台系统。 3、除了启用安全模式外,还有什么安全建议? 4、官方文档中的前后台分离是说不要给前台部署ss-admin目录,但系统中并不存在此物理目录。

starlying commented 1 year ago

前台服务器不启用.NET,通过rsync只同步wwwroot文件夹,其他文件夹不同步,这样前台只能提供纯静态文件服务,就避免了ss-admin访问以及api访问,相对安全很多。 如果有搜索以及其他动态功能,需要独立部署API服务器,同时在CMS后台设置站点的API访问地址。

fsea commented 1 year ago

独立部署API服务器是要如何部署,部署哪些东西呢,我这边是模板用ajax请求API接口,不生成静态页面,静态页面不能满足需求

starlying commented 1 year ago

独立部署API服务器和独立部署静态页面服务器类似,只是需要将系统根目录也通过rsync同步到API服务器,同时启用.NET,让API服务器能运行动态服务。

fsea commented 1 year ago

系统根目录同步过去会导致后台登录界面也可以打开,并且可以登录,有没有什么功能,可以禁止后台登录,禁止出现install界面,只提供api接口服务呢?

starlying commented 1 year ago

可以同步时将wwwroot\sitefiles\assets\js文件夹删除,这样后台就无法正常运行了。

fsea commented 1 year ago

验证可行