0

J'ai actuellement un projet Django en cours d'exécution sur un serveur derrière Cloudflare. Toutefois, un certain nombre d'applications contiennent des fonctionnalités qui nécessitent la synchronisation des données avec certains services Web. C'est un risque de sécurité, car ces services Web peuvent révéler l'adresse IP de mon serveur. J'ai donc besoin d'une solution pour éviter cela. Jusqu'à présent, j'ai trouvé deux alternatives: utiliser un proxy ou diviser le projet en deux serveurs. Un serveur chargé de répondre aux demandes via Cloudflare et un serveur responsable de la synchronisation des données avec d'autres services Web. L'adresse IP de ce dernier serveur sera exposée au public, cependant les attaques sur ce serveur n'entraîneront pas la mise hors ligne du site. Je préfère la deuxième solution, car cela va également diviser la charge entre deux serveurs.django - projet partagé en deux serveurs (en raison de Cloudflare) sans duplication de code

Le problème est que je ne sais pas comment je devrais le faire avec Django sans dupliquer le code. Je sais que je peux réutiliser des applications, mais pour la plupart d'entre elles, je n'ai, par exemple, besoin que des modèles et des sérialiseurs et non des vues, etc. Comment résoudre ce problème? Quelle est la meilleure approche à adopter? En outre, qu'est-ce qu'un nom approprié pour les deux serveurs? Merci

Répondre

0

Cela ressemble à un projet unique qui est divisé dans le cadre de la stratégie de déploiement. Il est donc logique de n'utiliser qu'une seule base de code plutôt que de la scinder en deux projets. Si c'est le cas, la réutilisation est un non-problème puisque les deux serveurs utilisent le même code.

Pour prendre en charge plusieurs déploiements, il vous suffit de créer deux fichiers de paramètres et de charger le fichier approprié sur le serveur approprié. Le degré auquel ils sont différents est à vous. Si vous souhaitez prendre en charge différentes vues, vous pouvez utiliser différents paramètres ROOT_URLCONF. Le INSTALLED_APPS peut être différent, et ainsi de suite.