[JAVA] Créez un serveur de fichiers HTTPS pour le développement avec ring-jetty-adapter

Puisqu'il était nécessaire de distribuer le fichier via https pendant le développement, vérifiez-le et notez celui implémenté.

supposition

Créer un keystore

En exécutant ce qui suit, vous pouvez générer un fichier de clés contenant la clé publique et les informations de clé privée requises pour https.

[Étapes détaillées](https://www.eclipse.org/jetty/documentation/9.4.x/configuring-ssl.html#generating-key-pairs-and-certificat es)

 keytool -keystore keystore -alias jetty -genkey -keyalg RSA

Ring-middleware pour livrer des fichiers

Spécifié pour utiliser file middleware qui est inclus dans ring en standard Les fichiers sous le répertoire sélectionné peuvent être distribués.

Configurer le serveur pour HTTPS

Cette fois, [ring-jetty-adapter](https://github.com/ring-clojure/ring/blob/master/ring-jetty-adapter/src/ring/adapter/jetty. Utilisez clj).

(require '[ring.adapter.jetty :as j]
         '[ring.middleware.file :as rf])

(def jetty
    (j/run-jetty
     (rf/wrap-file identity ;;Handler qui ne fait rien car il ne livre que des fichiers
                   "." ;;Je souhaite distribuer sous le répertoire racine du projet
                   )
     {:host "localhost"
      :http? false ;;Parce que http n'est pas nécessaire
      :ssl? true ;;Activer https
      :ssl-port 9443 ;;Valeur arbitraire
      :keystore "keystore" ;;Chemin d'accès au fichier de clés créé en premier
      :key-password "password";;Valeur utilisée pour créer le keystore
      :join? false ;;Après le démarrage, le contrôle revient à REPL
      }))

Impressions

J'avais l'habitude d'utiliser le module serveur https fourni avec Python, mais j'étais heureux car il pouvait être complété facilement avec juste Clojure / Java.

Recommended Posts

Créez un serveur de fichiers HTTPS pour le développement avec ring-jetty-adapter
Créer un fichier Excel avec POI
Créez une application avec Spring Boot 2
Créer un site de catalogue d'applications à l'aide de l'interface de ligne de commande pour Microsoft 365 avec Docker
Créez une application avec Spring Boot
Créer un serveur fluentd pour les tests
Un moyen facile de créer votre propre logo d'application (facile avec votre smartphone)
Créer un environnement de développement d'applications Web Java avec Docker pour Mac Part2
Créons vous-même une instance avec .new. .. ..
[Java] Créer un module exécutable avec Gradle
Créez un fichier jar avec la commande
Créer un environnement de développement Spring Boot-gradle-mysql avec Docker
J'ai créé un serveur écologique avec scala
Comment créer un formulaire Excel à l'aide d'un fichier modèle avec Spring MVC
Créez une API JSON prenant en charge le cryptage RSA avec wicket
Créez une fonction d'extension pour Burp. ~ Ajoutez simplement un onglet ~
Rails6.0 ~ Comment créer un environnement de développement respectueux de l'environnement
Créer un site EC avec Rails5 ⑤ ~ Modèle client ~
Créer un annotateur qui utilise kuromoji avec NLP4J [007]
Créer un serveur API Web avec Spring Boot
Créer un site EC avec Rails 5 ⑩ ~ Créer une fonction de commande ~
Créer un environnement de développement Spring Boot avec docker
Créez un serveur Spring Cloud Config en toute sécurité avec Spring Boot 2.0