Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ip disponible qu'en local

Sujet résolu
    28 mars 2017 à 12:51:25

    Bonjour à tous, j'ai configuré mon application web en la reliant au nom de domaine. Tout fonctionne à merveille, cependant mon domaine n'est maintenant accessible que par une ip appartenant à mon réseau... Pas très pratique pour un site web.
    J'aimerais savoir si quelqu'un avait une solution pour permettre de rendre cette ip publique et ainsi pouvoir rendre mon site accessible à tous ?
    • Partager sur Facebook
    • Partager sur Twitter
      28 mars 2017 à 13:21:34

      Quel application web? Quel hébergeur tu as? Donne des infos précis ? Si tu as un schéma c'est un plus ;)
      • Partager sur Facebook
      • Partager sur Twitter
        28 mars 2017 à 16:33:23

        L'application est développée avec le framework Django

        J'utilise nginx et gunicorn pour héberger l'application (dont la configuration me semble correcte mais je la mettrais quand même plus bas au cas où)
        En ce qui concerne l'hébergeur, j'ai un domaine chez 1&1 dont j'ai paramétré les DNS avec l'ip/ipv6 de ma raspberry (Je rappel que tout fonctionne, mais en local alors que j'y accède via www.mondomaine.fr)

        Cela pourrait-il venir de mon FAI ?

        Voilà la config de l'application:

        settings.py (Configuration django)

        """
        Django settings for freelance project.
        
        Generated by 'django-admin startproject' using Django 1.10.5.
        
        For more information on this file, see
        https://docs.djangoproject.com/en/1.10/topics/settings/
        
        For the full list of settings and their values, see
        https://docs.djangoproject.com/en/1.10/ref/settings/
        """
        
        import os
        
        # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
        BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
        
        
        # Quick-start development settings - unsuitable for production
        # See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/
        
        # SECURITY WARNING: keep the secret key used in production secret!
        SECRET_KEY = 'secretkey'
        
        # SECURITY WARNING: don't run with debug turned on in production!
        DEBUG = False
        ALLOWED_HOSTS = ['.mondomaine.fr','127.0.0.1']
        
        INSTALLED_APPS = [
            'widget_tweaks',
            'home',
            'admin',
            'chartjs',
            'django.contrib.auth',
            'django.contrib.contenttypes',
            'django.contrib.sessions',
            'django.contrib.messages',
            'django.contrib.staticfiles',
            'gunicorn'
        ]
        
        MIDDLEWARE = [
            'django.middleware.security.SecurityMiddleware',
            'django.contrib.sessions.middleware.SessionMiddleware',
            'django.middleware.common.CommonMiddleware',
            'django.middleware.csrf.CsrfViewMiddleware',
            'django.contrib.auth.middleware.AuthenticationMiddleware',
            'django.contrib.messages.middleware.MessageMiddleware',
            'django.middleware.clickjacking.XFrameOptionsMiddleware',
        ]
        
        ROOT_URLCONF = 'freelance.urls'
        
        TEMPLATES = [
            {
                'BACKEND': 'django.template.backends.django.DjangoTemplates',
                'DIRS': [],
                'APP_DIRS': True,
                'OPTIONS': {
                    'context_processors': [
                        'django.template.context_processors.debug',
                        'django.template.context_processors.request',
                        'django.contrib.auth.context_processors.auth',
                        'django.contrib.messages.context_processors.messages',
                    ],
                },
            },
        ]
        
        WSGI_APPLICATION = 'freelance.wsgi.application'
        
        
        # Database
        # https://docs.djangoproject.com/en/1.10/ref/settings/#databases
        
        DATABASES = {
            'default': {
                'ENGINE': 'django.db.backends.mysql',
                'NAME': 'user',
                'USER': 'user',
                'PASSWORD': 'password'
            }
        }
        
        
        # Password validation
        # https://docs.djangoproject.com/en/1.10/ref/settings/#auth-password-validators
        
        AUTH_PASSWORD_VALIDATORS = [
            {
                'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
            },
            {
                'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
            },
            {
                'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
            },
            {
                'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
            },
        ]
        
        
        # Internationalization
        # https://docs.djangoproject.com/en/1.10/topics/i18n/
        
        LANGUAGE_CODE = 'fr-fr'
        
        TIME_ZONE = 'UTC'
        
        USE_I18N = True
        
        USE_L10N = True
        
        USE_TZ = True
        
        
        # Static files (CSS, JavaScript, Images)
        # https://docs.djangoproject.com/en/1.10/howto/static-files/
        
        STATIC_URL = '/static/'
        STATIC_ROOT = '/webapps/freelance_django/static'
        STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"), )
        MEDIA_ROOT = os.path.join(BASE_DIR, "media")
        #MEDIA_URL = '/media/'
        



        /etc/nginx/sites-available/freelance + lien symbolique vers /etc/nginx/sites-enabled/ pour l'activer

        upstream freelance_app_server {
          server unix:/webapps/freelance_django/run/gunicorn.sock fail_timeout=0;
        }
        
        server {
            server_name mondomaine.fr;
            return 301 $scheme://www.mondomaine.fr$request_uri;
        }
        
        server {
        
            listen   80;
            server_name www.mondomaine.fr;
        
            client_max_body_size 4G;
        
            access_log /webapps/freelance_django/logs/nginx-access.log;
            error_log /webapps/freelance_django/logs/nginx-error.log;
        
            location /static {
                alias   /webapps/freelance_django/static/;
            }
        
            #location /media {
            #    alias   /webapps/freelance_django/media/;
            #}
        
            location / {
        	      proxy_set_header X_FORWARDED_PROTO https;
                proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header  Host $http_host;
                proxy_set_header  X-Url-Scheme $scheme;
        	      proxy_redirect off;
                allow all;
                proxy_pass http://freelance_app_server/;
            }
        
            # Error pages
            error_page 500 502 503 504 /500.html;
            location = /500.html {
                root /webapps/freelance_django/static/;
            }
        }
        


        EDIT: Problème résolu, j'avais bêtement mis mon ipv4 local dans les DNS, d'où le soucis x)

        -
        Edité par xSolaz 28 mars 2017 à 21:13:12

        • Partager sur Facebook
        • Partager sur Twitter

        Ip disponible qu'en local

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown