SSL in der lokalen Umgebung von Docker / Rails / Puma

In der Produktionsumgebung von Docker / Rails / puma kann ein Teil von CRUD durch SSL-Kommunikation nicht gut ausgeführt werden. Daher habe ich die lokale Umgebung in SSL geändert, um verschiedene Dinge lokal auszuprobieren. Ich habe das damalige Verfahren zusammengefasst.

Annahme

Montagevorgang

#Wechseln Sie in das Zertifikatinstallationsverzeichnis
$ cd docker/nginx/ssl

$ openssl genrsa -out server.key 2048

#Registrierungsinformationen sind angemessen. .. ..
$ 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

Verhindern Sie, dass es auf GitHub hochgeladen wird

.gitignore



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

Lassen Sie Port 443 zu oder passen Sie die Halterung an den Pfad mit dem Zertifikat an.

docker-compose.yml



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

Legen Sie den Verzeichnispfad fest, in dem sich das Zertifikat befindet, z. B. "ssl_certificate". Lassen Sie es 301 auf https umleiten, wenn Sie auf http zugreifen.

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;

#···Kürzung
$ docker-compose up -d

Referenz

So machen Sie den Puma-Server über SSL zugänglich --ryotakus Tech-Blog HTTPS in der Rails-Entwicklungsumgebung aktivieren Rails + Puma-Entwicklungsumgebung SSL-Qiita Aktivieren Sie SSL / HTTPS in der lokalen Umgebung von Rails5 + puma - Qiita SSL (HTTPS) -Einstellungen mit Nginx! Erstellen Sie ein selbstsigniertes Zertifikat!

schließlich

Nachdem CRUD unter der wesentlichen lokalen https-Verbindung erstellt wurde, werde ich es durch dieses Produktionszertifikat ersetzen und es erneut überprüfen.

Recommended Posts

SSL in der lokalen Umgebung von Docker / Rails / Puma
Rails5.1 + Puma SSL-Verbindung in lokaler Produktionsumgebung
So installieren Sie Docker in der lokalen Umgebung einer vorhandenen Rails-App [Rails 6 / MySQL 8]
Führen Sie Redmine in der lokalen Umgebung von Windows 10 Pro-Use Docker Desktop für Windows aus
Installieren Sie, indem Sie die Version von Django in der Docker-Umgebung angeben
Docker-Umgebung Nuxt-Axios-Modul zum Festlegen von baseURL
Die Identität der Schienenparameter [: id]
[Rails] Setzen Sie die Datenbank in der Produktionsumgebung zurück
So lösen Sie die lokale Umgebungskonstruktion von Ruby on Rails (MAC)!
[Bestellmethode] Legen Sie die Reihenfolge der Daten in Rails fest
[Rails] Führen Sie LINE Bot in einer lokalen Umgebung mit ngrok aus
Verbessern Sie die Leistung der Docker-Entwicklungsumgebung
Aufbau der Rails Docker-Umgebung
Verfahren zum Einführen von Docker in die Entwicklungsumgebung vorhandener Rails-Apps [Rails, MySQL, Docker]
Führen Sie Docker in die Entwicklungs- und Testumgebung vorhandener Rails- und MySQL-Apps ein
Migrationsfehler nach dem Zuordnen von Activerecord in der Rails5 + Docker-Umgebung (2)
Bereiten Sie die Ausführungsumgebung von Tomcat in der IntelliJ Community vor
Migrationsfehler nach Activerecord-Zuordnung in der Rails5 + Docker-Umgebung
[Java] Holen Sie sich die Datei unabhängig von der Umgebung in das JAR
Ein Befehl, der die lokale Docker-Umgebung definitiv bereinigt
Umweltbauweise und Fehlerbehebung zum Zeitpunkt der gemeinsamen Entwicklung (Schienen, Docker und Github)
Docker-Überwachung - Erläuterung der Grundlagen der Grundlagen
Was ist zu tun, wenn in einer der Quellen in der Entwicklungsumgebung mit Docker × Rails × RSpec "Nicht gefunden" angezeigt wird?
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Erstellen Sie eine Entwicklungsumgebung für Rails-Anwendungen mit Docker [Docker, Rails, Puma, Nginx, MySQL]
Der Exit-Code 1 tritt auf, wenn Rails in der Docker-Umgebung gestoppt wird
Ich habe versucht, eine Umgebung mit WSL2 + Docker + VSCode zu erstellen
[Rails] Bei der Beschreibung der Validierung ist Vorsicht geboten
[Rails] Was tun, wenn Sie versehentlich eine Bundle-Installation in einer Produktionsumgebung in Ihrer lokalen Umgebung durchführen?
Ich habe versucht, die Cache-Funktion von Application Container Cloud Service in der lokalen Umgebung zu entwickeln
Ich habe versucht, Docker zu verwenden, weil ich die lokale Umgebung bei der Entwicklung der Registerkarte "Microsoft Teams" von MS Learn nicht verschmutzen möchte
Verwenden Sie MailHog zum Überprüfen von E-Mails in der Entwicklungsumgebung (mit Docker).
Erstellen Sie mit Docker eine lokale Couchbase-Umgebung
Untersuchen Sie die Systeminformationen der AWS Lambda-Betriebsumgebung in Java
[Schienen] Überprüfen Sie den Inhalt des Objekts
Über das Symbol <%%> in Rails erb
[Programmieranfänger] Was tun, wenn Schienen zu einem Fehler in der lokalen Entwicklungsumgebung werden?
Erläuterung der Reihenfolge der Schienenrouten
Ich habe versucht, mit Docker eine Plant UML Server-Umgebung zu erstellen
Super Anfänger baut Rails 6 + Postgresql-Umgebung mit Docker bis zum Ende
Überprüfen Sie den Migrationsstatus von Schienen
Erstellen Sie eine Browsertestumgebung mit Capybara in der Docker-Entwicklungsumgebung
Konstruktionsverfahren für Rails on Docker-Umgebungen
Installieren Sie lsb_release über die Befehlszeile, wenn lsb_release in der Docker-Umgebung fehlschlägt
Nachdem ich Progate gelernt hatte, versuchte ich, eine SNS-Anwendung mit Rails in der lokalen Umgebung zu erstellen
Ersetzen Sie die Vorschau durch Hochladen, indem Sie auf das Bild in file_field of Rails klicken
[Umgebungskonstruktion mit Docker] Rails 6 & MySQL 8