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.
#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
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!
Nachdem CRUD unter der wesentlichen lokalen https-Verbindung erstellt wurde, werde ich es durch dieses Produktionszertifikat ersetzen und es erneut überprüfen.
Recommended Posts