配置
配置 HTTPS
若要对桌面端应用程序进行认证,服务器必须使用 HTTPS。下面是在开发环境设置 HTTPS 的简要说明。
生成可信证书
可信证书可以从 SSL 证书提供商处获取,或使用 certbot 生成。出于开发目的,可以自己颁发根证书,并用来签署开发服务证书。为简单起见,我们建议使用 mkcert 工具。
-
按照仓库中的说明安装
mkcert:https://github.com/FiloSottile/mkcert[https://github.com/FiloSottile/mkcert^]。 -
生成并安装根证书:
mkcert -install -
为 localhost 创建一个证书:
mkcert -pkcs12 localhost 127.0.0.1 ::1当前目录会生成
localhost+2.p12文件。 -
使用证书为项目创建一个 keystore 文件:
keytool -importkeystore -srckeystore localhost+2.p12 -srcstoretype pkcs12 -destkeystore localhost.jks输入
changeit作为 keystore 的密码。当前目录会生成
localhost.jks文件。
服务配置
本节介绍当从 IDE 运行应用程序或者用可执行 JAR 运行时,如何使用上一节生成的证书。
-
创建
src/main/resources/<base-package>/keystore目录,并将localhost.jks复制到该目录。 -
在
application.properties文件设置下列应用程序属性,用真实值替换<base-package>和<password>:# 启用 HTTPS server.ssl.enabled=true # keystore 的格式 server.ssl.key-store-type = JKS # 包含证书的 keystore 路径 server.ssl.key-store = classpath:<base-package>/keystore/localhost.jks # 生成 keystore 的密码 server.ssl.key-store-password = <password> # 证书的映射别名 server.ssl.key-alias = localhost # 服务端口 server.port = 8443keystore 路径的
<base-package>部分(server.ssl.key-store配置中)应该是由斜杠分隔的路径:server.ssl.key-store = classpath:com/example/demo/keystore/localhost.jks
-
打开主应用程序类,并修改
printApplicationUrl()方法。由于配置了 HTTPS,URL 需要修改为https://:@EventListener public void printApplicationUrl(final ApplicationStartedEvent event) { LoggerFactory.getLogger(DemoApplication.class).info("Application started at " + "https://localhost:" + environment.getProperty("local.server.port") + Strings.nullToEmpty(environment.getProperty("server.servlet.context-path"))); }
维护作业
WebDAV 扩展组件包含几个维护作业,如下所述。如需定期执行这些作业,请在项目中 安装 Quartz 扩展组件。
ExpiredLockCleaningJob
删除过期的 锁 对象。默认每 2 小时运行一次。
如需修改任务调度,请使用 jmix.webdav.expired-lock-cleaning-cron 应用程序属性。
WebdavDocumentVersionsCleaningJob
删除没有链接任何文档的 WebdavDocumentVersion 实例。默认每月运行一次。
如需修改任务调度,请使用 jmix.webdav.document-versions-cleaning-cron 应用程序属性。