SSL dans l'environnement local de Docker / Rails / puma

Dans l'environnement de production de Docker / Rails / puma, une partie de CRUD ne peut pas être bien réalisée par la communication SSL, j'ai donc changé l'environnement local en SSL pour essayer diverses choses localement. J'ai résumé la procédure à ce moment-là.

supposition

Procédure de montage

#Déplacer vers le répertoire d'installation du certificat
$ cd docker/nginx/ssl

$ openssl genrsa -out server.key 2048

#Les informations d'enregistrement sont appropriées. .. ..
$ openssl req -new -key server.key -out server.csr
Country Name (2 letter code) []:JP
State or Province Name (full name) []:Fukuoka prefecture
Locality Name (eg, city) []:Fukuoka city
Organization Name (eg, company) []:oreore
Organizational Unit Name (eg, section) []:oreore
Common Name (eg, fully qualified host name) []:localhost
Email Address []:[email protected]
A challenge password []:a123456

$ openssl x509 -days 3650 -req -signkey server.key -in server.csr -out server.crt

Empêcher son téléchargement sur GitHub

.gitignore



/docker/nginx/ssl/server.crt
/docker/nginx/ssl/server.csr
/docker/nginx/ssl/server.key

Autorisez le port 443 ou adaptez le montage au chemin avec le certificat.

docker-compose.yml



nginx:
    build:
      context: .
      dockerfile: ./docker/nginx/Dockerfile
    ports:
      - '80:80'
      - '443:443' #ajouter à
    volumes:
      - sockets:/app/tmp/sockets
      - ./docker/nginx/ssl:/etc/nginx/ssl #ajouter à

Définissez le chemin du répertoire où se trouve le certificat, tel que "ssl_certificate". Faites-le 301 rediriger vers https lors de l'accès à http.

docker/nginx/default.conf



upstream app {
  server unix:///app/tmp/sockets/puma.sock;
}

server {
  listen 80;
  server_name  _;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl;
  server_name localhost;

  ssl_certificate     /etc/nginx/ssl/server.crt;
  ssl_certificate_key /etc/nginx/ssl/server.key;
  ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers         HIGH:!aNULL:!MD5;

#···réduction
$ docker-compose up -d

référence

Comment rendre le serveur puma accessible via SSL - Blog technique deryotaku Activer HTTPS dans l'environnement de développement Rails Environnement de développement Rails + Puma SSL-Qiita Activer SSL / HTTPS dans l'environnement local de Rails5 + puma-Qiita Paramètres SSL (HTTPS) avec Nginx! Créez un certificat auto-signé!

enfin

Maintenant que CRUD a été créé sous la connexion https locale essentielle, je vais le remplacer par ce certificat de production et le vérifier à nouveau.

Recommended Posts

SSL dans l'environnement local de Docker / Rails / puma
Connexion SSL Rails5.1 + puma dans un environnement de production local
Comment installer Docker dans l'environnement local d'une application Rails existante [Rails 6 / MySQL 8]
Exécutez Redmine dans l'environnement local de Windows10 Pro-Use Docker Desktop pour Windows
Installer en spécifiant la version de Django dans l'environnement Docker
Environnement Docker Module Nuxt axios pour définir baseURL
L'identité des paramètres de rails [: id]
[Rails] Réinitialisez la base de données dans l'environnement de production
Comment résoudre la construction de l'environnement local de Ruby on Rails (MAC)!
[Order method] Définit l'ordre des données dans Rails
[Rails] Exécutez LINE Bot dans un environnement local à l'aide de ngrok
Améliorer les performances de l'environnement de développement Docker
Construction de l'environnement Rails Docker
Procédure pour introduire Docker dans l'environnement de développement des applications Rails existantes [Rails, MySQL, Docker]
Présentez Docker à l'environnement de développement et à l'environnement de test des applications Rails et MySQL existantes
Erreur de migration après avoir associé Activerecord dans l'environnement Rails5 + Docker (2)
Préparer l'environnement d'exécution de Tomcat dans IntelliJ Community
Erreur de migration après l'association Activerecord dans l'environnement Rails5 + Docker
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
Une commande qui nettoie définitivement l'environnement docker local
Méthode de construction de l'environnement et dépanneur au moment du développement conjoint (rails, docker et github)
Surveillance Docker-expliquant les bases des bases-
Que faire lorsque «Impossible de trouver» dans l’une des sources apparaît dans l’environnement de développement avec Docker × Rails × RSpec
[Docker] Construction de l'environnement Rails 5.2 avec docker
Créez un environnement de développement d'applications Rails avec Docker [Docker, Rails, Puma, Nginx, MySQL]
Le code de sortie 1 se produit lorsque Rails est arrêté dans l'environnement Docker
J'ai essayé de créer un environnement de WSL2 + Docker + VSCode
[Rails] Où faire attention dans la description de la validation
[Rails] Que faire si vous effectuez accidentellement une installation groupée dans un environnement de production de votre environnement local
J'ai essayé de développer la fonction de cache d'Application Container Cloud Service dans l'environnement local
J'ai essayé d'utiliser Docker parce que je ne veux pas polluer l'environnement local dans le développement de l'onglet Microsoft Teams de MS Learn
Utilisez MailHog pour vérifier le courrier dans l'environnement de développement (à l'aide de Docker)
Créer un environnement local Couchbase avec Docker
Examiner les informations système de l'environnement d'exploitation AWS Lambda en Java
[Rails] Vérifiez le contenu de l'objet
À propos du symbole <%%> dans Rails erb
[Débutant en programmation] Que faire lorsque les rails deviennent une erreur dans l'environnement de développement local
Explication de l'ordre des itinéraires ferroviaires
J'ai essayé de créer un environnement de serveur UML Plant avec Docker
Le super débutant construit Rails 6 + environnement Postgresql avec Docker jusqu'à la fin
Vérifier l'état de migration des rails
Créer un environnement de test de navigateur à l'aide de Capybara dans l'environnement de développement Docker
Rails sur la procédure de construction de l'environnement Docker
Installez lsb_release à partir de la ligne de commande lorsque lsb_release échoue dans l'environnement docker
Après avoir appris Progate, j'ai essayé de créer une application SNS en utilisant Rails dans l'environnement local
Cliquez sur l'image dans le champ file_field de Rails pour télécharger et remplacer l'aperçu
[Construction de l'environnement avec Docker] Rails 6 et MySQL 8