우리는 Nginx, Apache, Django 및 Postgres로 배포 된 프로젝트를 보유하고 있습니다.Nginx 및 Apache를 사용하는 임베디드 장치를위한 최상의 빠른 인증 메커니즘
이 프로젝트는 임베디드 디바이스의 많은 수의 5 분 간격으로 서버 (HTTPS)에 로그인하여 서버에 파일을 보낼 수 있습니다. 또한 프로젝트의 WebUI 얼굴에는 일반 사용자가 로그인하여 다른 기능을 수행합니다.
현재 시스템은 임베디드 장치와 일반 (사람) 사용자를 구분하지 않습니다. 장치 수가 적 으면이 메커니즘은 필요한 속도로 잘 작동했습니다. 그러나 장치 수가 증가함에 따라 데이터베이스에 대한 부하가 증가했습니다. 우리는 하루에 약 60000 개의 django_session 항목을 관찰했습니다. 장치에서 보낸 파일을 처리하기 위해 실행하는 가져 오기 스크립트는 들어오는 데이터를 거의 따라 가지 않고 데이터베이스가 많이로드됩니다.
난 그냥 매우 빠르게 장치를 인증하고 텍스트 파일을 보낼 수 있도록 할 수있는 최소한의 인증 메커니즘을 구현하려는. 나는 장고 인증 방법 을 피하고 싶지만 장치의 사용자 이름 - 암호에 대해 auth_user 테이블을 계속 사용하고자합니다. 성능 요구 사항을 감안할 때, nginx를 사용하고 실제로 그림을 아파치를 가져 오지 않고 파일을 받아들이는 어떤 방법이 필요합니다.
이것을 달성하는 가장 좋은 방법은 무엇이라고 생각하십니까? 또한 이러한 대형 임베디드 디바이스 관련 프로젝트가 이러한 유형의 메커니즘에 사용하는 것은 무엇입니까?
임베디드 장치를 얼마나 제어합니까? 어떤 인증이라도 펌웨어를 변경해야하는 것처럼 보입니다. – Robert
임베디드 장치의 수는 매우 높으며 해당 장치 소유자의 개인 정보 문제로 인해 모든 장치를 중앙에서 제어 할 수 없습니다. 현재 장치는 (https) 인증서를 사용하고 은 기본 인증을 사용하여 사용자 이름과 암호를 보냅니다. 현재 구성표를 유지하고 ngnix 수준의 일반 사용자와 장치 간의 연결을 분리하고 싶습니다. 비슷하지만 덜 복잡한 방식으로 장치 인증을 처리합니다. 여기서는 django_session을 사용하고 아파치를 사용할 필요가 없습니다. 이것을 달성 할 수있는 방법이 있습니까? – Sujit