Я пытаюсь настроить простое приложение Spring для использования SSL и размещения его в Digital Ocean. Почему мое приложение не находит файл хранилища ключей?
Капля, которую я настроил, основана на Ubuntu 18.04. Я использовал Letsencrypt для получения сертификата и этого руководства для создания файла PKCS. Я настроил свой файл application.properties, чтобы он выглядел в текущем каталоге файла jar следующим образом:
security.require-ssl:true
server.ssl.key-store:keystore.p12
server.ssl.key-store-password:<password>
server.ssl.key-store-type:PKCS12
server.ssl.key-alias:<alias>
Я ожидаю, что это запустится и запустит веб-сервер на настроенном порту. Однако, что я получаю в трассировке стека это:
Caused by: java.io.FileNotFoundException: /root/software/gimmememe/target/keystore.p12 (No such file or directory)
Достаточно странно, когда я запускаю тот же самый jar-файл с тем же файлом keystore.p12 на своем компьютере с Windows, он работает нормально:
o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9123 (https) with context path ''
meme.Application : Started Application in 4.985 seconds (JVM running for 5.464)
Я не думаю, что это проблема с разрешениями на машине с Ubuntu, поскольку я пытался установить разрешения для файла хранилища ключей следующим образом:
-rw-r--r-- 1 root root 4274 Mar 26 18:44 keystore.p12
Я запускаю свой jar-файл с помощью следующей команды (пробовал также с sudo infront):
java -jar gimme-meme-1.0.0.war