나는 백엔드 태스크에 rabbitmq와 celery를 사용하고 있습니다. dev/test와 동일한 rabbitmq를 사용하고 싶습니다. 누군가 실수로 생산 대기열에 셀러리 작업자를 데려 와서 dev/test에 사용합니다. 가능하다면 동일한 rabbitmq 백엔드에도 액세스 할 수있는 셀러리 작업자가 샐러리 대기열에 액세스하는 것을 어떻게 방지 할 수 있습니까?dev와 production에 동일한 rabbitmq를 사용할 때 셀러 큐를 어떻게 보호합니까?
0
A
답변
0
개발 및 테스트를 위해 BROKER_TRANSPORT_OPTIONS에 다른 queue_name_prefix를 유지하십시오.
BROKER_TRANSPORT_OPTIONS = {
'queue_name_prefix':'development/test',
'wait_time_seconds': 10,
'polling_interval': 30,
'visibility_timeout': 3600 * 5
}
0
이 문제를 해결하기 위해 제작 rabbitmq 사용자가 독점적으로 액세스 할 수있는 rabbitmq 가상 호스트를 설정했습니다. 프로덕션 사용자의 암호는 프로덕션 django 비밀 키와 비슷하게 저장됩니다.
RABBIT_USER = os.environ.get('TANTALUS_RABBIT_USER', 'guest')
RABBIT_PASSWORD = os.environ.get('TANTALUS_RABBIT_PASSWORD', 'guest')
RABBIT_VHOST = os.environ.get('TANTALUS_RABBIT_VHOST', '')
CELERY_BROKER_URL = 'amqp://{}:{}@1.2.3.4:5672/{}'.format(RABBIT_USER,
RABBIT_PASSWORD, RABBIT_VHOST)
새로운 토끼 사용자
과 함께 추가 할 수 있습니다 : 시스템의sudo rabbitmqctl add_user produser prodpassword
sudo rabbitmqctl set_user_tags produser administrator
sudo rabbitmqctl add_vhost prodvhost
sudo rabbitmqctl set_permissions -p prodvhost produser ".*" ".*" ".*"
관련 문제
- 1. 컬을 사용할 때 어떻게 쿠키를 보호합니까?
- 2. CORS가 앱을 어떻게 보호합니까?
- 3. keytool은 키를 어떻게 보호합니까?
- 4. 어떻게 Firefox 확장 암호를 보호합니까?
- 5. 리눅스는 어떻게 메모리를 보호합니까?
- 6. 엔트로피 값을 어떻게 보호합니까?
- 7. 큐를 사용할 때 위조에 배포하는 방법
- 8. AJAX 서비스를 어떻게 보호합니까?
- 9. Grails에서 XSRF를 어떻게 보호합니까?
- 10. AIR에서 내용을 어떻게 보호합니까?
- 11. 차트 코드를 어떻게 보호합니까?
- 12. PHP 폼은 어떻게 보호합니까?
- 13. 라이선스 파일을 어떻게 보호합니까?
- 14. 페이로드가 아닌 인증을 어떻게 보호합니까?
- 15. 어떻게 Devise로 컨트롤러 동작을 보호합니까?
- 16. 앱 구매 콘텐츠를 어떻게 보호합니까?
- 17. Jira - UAT/Production에 배포 배포
- 18. PHP - 어떻게 고유 한 변수 이름을 보호합니까?
- 19. @StreamListener와 RabbitMQ를 어떻게 (통합하여) 테스트합니까?
- 20. 우리는 어떻게 Wordpress를 해커로부터 보호합니까?
- 21. DropBox는 어떻게 파이썬 코드를 보호합니까?
- 22. C# app의 업데이트를 어떻게 보호합니까?
- 23. 어떻게 장고 관리 사이트를 보호합니까?
- 24. 블로거 게시물을 어떻게 암호로 보호합니까?
- 25. RethinkDB에서 개별 데이터베이스를 어떻게 보호합니까?
- 26. 좋은 역학은 NSURLConnection을 어떻게 보호합니까?
- 27. SSL은 스니핑으로부터 데이터를 어떻게 보호합니까?
- 28. Oauth2는 리소스 소유자를 어떻게 보호합니까?
- 29. RabbitMQ를 사용한 선택적 라우팅
- 30. unixodbc-dev와 동등한 FreeBSD
예 그러나 – andrew
queue_name_prefix을 테스트 할 때 실수로 생산 접두사를 추가 할 수 있습니다 누군가가 호스트로 전달 될 수있다 (에서 gethostname()) 또는 환경에 따라 다른 변수. worker는 queue_name_prefix에서만 작업을 식별하고 queue_name_prefix는 사용자가 요청한 바로 그 목적을 위해 사용됩니다. 나는 다른 대안을 모른다. – daemon24