Puma와 함께 Ruby on Rails를 사용하여 localhost 개발 환경에 SSL을 추가하는 방법

4241 단어 cookiessslrailspuma
안녕 독자들!

Chrome 80의 새로운 업데이트로 타사 쿠키가 있는 경우 theSameSite=None을 추가해야 합니다. 안전하지만 이는 타사 쿠키가 HTTPS 연결을 통해서만 전송됨을 의미합니다.

다음 비디오는 이 방법을 나보다 더 잘 설명합니다.



또한 SameSite 쿠키 변경 사항이 포함된 Chrome의 ablog post를 남깁니다.

자, 여러분이 서로 쿠키를 공유하는 서비스를 개발하고 Puma와 함께 Ruby on Rails를 웹 서버로 사용하는 저와 같다면 HTTPS 연결이 필요합니다.

인증서 생성



따라서 가장 먼저 해야 할 일은 HTTPS 연결을 추가하려는 서비스에 대한 인증서를 만드는 것입니다. mkcert을 사용하여 생성하겠습니다. 저는 localhost로 가겠습니다. 하지만 원하는 이름을 사용할 수 있습니다.

➜  ~ mkcert localhost
Using the local CA at "/Users/marianomatayoshi/Library/Application Support/mkcert" ✨
Warning: the local CA is not installed in the system trust store! ⚠️
Warning: the local CA is not installed in the Firefox trust store! ⚠️
Run "mkcert -install" to avoid verification errors ‼️
Created a new certificate valid for the following names 📜
- "localhost"
The certificate is at "./localhost.pem" and the key at "./localhost-key.pem" ✅

이제 이 인증서를 신뢰할 수 있는 것으로 표시해야 합니다. 저는 Mac 컴퓨터에서 작업하고 있으므로 Windows 또는 Linux 배포판에서 이 특정 부분을 처리하는 방법을 잘 모르겠습니다.

Mac 사용자의 경우 키체인 액세스를 열고 인증서를 키체인인 localhost.pem 파일로 드래그하면 일부 오류가 표시될 수 있지만 결국 추가됩니다.



방금 추가한 인증서를 두 번 클릭하고 -> 신뢰를 클릭합니다.




그리고 이 인증서를 사용할 때:에서 항상 신뢰 옵션을 선택합니다.



SSL의 로컬 호스트



이제 흥미로운 부분:
puma 구성에서 다음과 같은 것을 원할 것입니다.




결국 local-certs 폴더 안에 config 폴더를 만들고 거기에 인증서와 키를 붙여넣었습니다.

그런 다음 bundle exec puma -C puma.rb를 실행하면 다음과 같은 메시지가 표시됩니다.



➜  ~ bundle exec puma -C puma.rb
[97] Puma starting in cluster mode...
[97] * Version 4.1.0 (ruby 2.3.8-p459), codename: Fourth and One
[97] * Min threads: 5, max threads: 5
[97] * Environment: development
[97] * Process workers: 2
[97] * Phased restart available
[97] * Listening on tcp://0.0.0.0:3001
[97] * Listening on ssl://0.0.0.0:3000?cert=config/local-certs/localhost.pem&key=config/local-certs/localhost-key.pem&verify_mode=none&no_tlsv1=false&no_tlsv1_1=false
[97] Use Ctrl-C to stop
[97] - Worker 0 (pid: 105) booted, phase: 0
[97] - Worker 1 (pid: 108) booted, phase: 0


그리고 https://localhost:3000 로 가시면 이런게 보이실거에요🤘





localshot:3000의 SSL



Chrome 업데이트를 정리하는 데 도움이 되기를 바랍니다. 여기로 저를 핑하거나 , StackOverflow 또는 Github :)에서 저를 팔로우하세요.



마리아노 마타요시( [email protected] )

좋은 웹페이지 즐겨찾기