· 7 years ago · Sep 06, 2018, 10:52 AM
1ForbiddenError at /api/emails/
2HTTP Error 403: FORBIDDEN
3
4Request Method: POST
5Request URL: https://thesecondlaw.stg.kindbeetle.ru/api/emails/
6Django Version: 1.11.15
7Python Executable: /usr/local/bin/python
8Python Version: 3.6.6
9Python Path: ['/app', '/usr/local/bin', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages']
10Server time: Чт, 6 Сен 2018 10:44:14 +0000
11Installed Applications:
12['django.contrib.admin',
13 'django.contrib.auth',
14 'django.contrib.contenttypes',
15 'django.contrib.sessions',
16 'django.contrib.messages',
17 'django.contrib.staticfiles',
18 'adminsortable2',
19 'corsheaders',
20 'debug_toolbar',
21 'django_summernote',
22 'drf_yasg',
23 'rest_framework',
24 'rest_framework_swagger',
25 'robust',
26 'framework',
27 'tsl']
28Installed Middleware:
29['django.middleware.security.SecurityMiddleware',
30 'django.contrib.sessions.middleware.SessionMiddleware',
31 'django.middleware.common.CommonMiddleware',
32 'django.middleware.csrf.CsrfViewMiddleware',
33 'django.contrib.auth.middleware.AuthenticationMiddleware',
34 'django.contrib.messages.middleware.MessageMiddleware',
35 'django.middleware.clickjacking.XFrameOptionsMiddleware',
36 'django.middleware.locale.LocaleMiddleware',
37 'debug_toolbar.middleware.DebugToolbarMiddleware']
38
39
40Traceback:
41
42File "/usr/local/lib/python3.6/site-packages/python_http_client/client.py" in _make_request
43 172. return opener.open(request, timeout=timeout)
44
45File "/usr/local/lib/python3.6/urllib/request.py" in open
46 532. response = meth(req, response)
47
48File "/usr/local/lib/python3.6/urllib/request.py" in http_response
49 642. 'http', request, response, code, msg, hdrs)
50
51File "/usr/local/lib/python3.6/urllib/request.py" in error
52 570. return self._call_chain(*args)
53
54File "/usr/local/lib/python3.6/urllib/request.py" in _call_chain
55 504. result = func(*args)
56
57File "/usr/local/lib/python3.6/urllib/request.py" in http_error_default
58 650. raise HTTPError(req.full_url, code, msg, hdrs, fp)
59
60
61 During handling of the above exception (HTTP Error 403: FORBIDDEN), another exception occurred:
62
63
64
65File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
66 41. response = get_response(request)
67
68File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
69 187. response = self.process_exception_by_middleware(e, request)
70
71File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
72 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
73
74File "/usr/local/lib/python3.6/contextlib.py" in inner
75 52. return func(*args, **kwds)
76
77File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view
78 58. return view_func(*args, **kwargs)
79
80File "/usr/local/lib/python3.6/site-packages/rest_framework/viewsets.py" in view
81 103. return self.dispatch(request, *args, **kwargs)
82
83File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
84 483. response = self.handle_exception(exc)
85
86File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception
87 443. self.raise_uncaught_exception(exc)
88
89File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
90 480. response = handler(request, *args, **kwargs)
91
92File "/app/tsl/api/emails.py" in create
93 14. sg.client.contactdb.recipients.post(request_body=[{'email': request.data['email']}])
94
95File "/usr/local/lib/python3.6/site-packages/python_http_client/client.py" in http_request
96 252. return Response(self._make_request(opener, request, timeout=timeout))
97
98File "/usr/local/lib/python3.6/site-packages/python_http_client/client.py" in _make_request
99 176. raise exc
100
101Exception Type: ForbiddenError at /api/emails/
102Exception Value: HTTP Error 403: FORBIDDEN
103Request information:
104USER: AnonymousUser
105
106GET: No GET data
107
108POST: No POST data
109
110FILES: No FILES data
111
112COOKIES: No cookie data
113
114META:
115CONTENT_LENGTH = '12'
116CONTENT_TYPE = 'application/json;charset=UTF-8'
117HTTP_ACCEPT = 'application/json, text/plain, */*'
118HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
119HTTP_ACCEPT_LANGUAGE = 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'
120HTTP_CONNECTION = 'close'
121HTTP_HOST = 'thesecondlaw.stg.kindbeetle.ru'
122HTTP_ORIGIN = 'http://localhost:3000'
123HTTP_REFERER = 'http://localhost:3000/'
124HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
125HTTP_X_FORWARDED_FOR = '37.193.9.212, 172.19.0.1'
126HTTP_X_FORWARDED_PROTO = 'https'
127HTTP_X_REAL_IP = '172.19.0.1'
128PATH_INFO = '/api/emails/'
129QUERY_STRING = ''
130RAW_URI = '/api/emails/'
131REMOTE_ADDR = '172.19.0.4'
132REMOTE_PORT = '40074'
133REQUEST_METHOD = 'POST'
134SCRIPT_NAME = ''
135SERVER_NAME = '0.0.0.0'
136SERVER_PORT = '8000'
137SERVER_PROTOCOL = 'HTTP/1.0'
138SERVER_SOFTWARE = 'gunicorn/19.9.0'
139gunicorn.socket = <socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.19.0.3', 8000), raddr=('172.19.0.4', 40074)>
140wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f937aadbfd0>
141wsgi.file_wrapper = ''
142wsgi.input = <gunicorn.http.body.Body object at 0x7f937aadbda0>
143wsgi.multiprocess = True
144wsgi.multithread = False
145wsgi.run_once = False
146wsgi.url_scheme = 'http'
147wsgi.version = '(1, 0)'
148
149Settings:
150Using settings module config.settings
151ABSOLUTE_URL_OVERRIDES = {}
152ADMINS = []
153ALLOWED_HOSTS = ['*']
154APPEND_SLASH = True
155AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
156AUTH_PASSWORD_VALIDATORS = '********************'
157AUTH_USER_MODEL = 'auth.User'
158BASE_DIR = '/app'
159CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
160CACHE_MIDDLEWARE_ALIAS = 'default'
161CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
162CACHE_MIDDLEWARE_SECONDS = 600
163CSRF_COOKIE_AGE = 31449600
164CSRF_COOKIE_DOMAIN = None
165CSRF_COOKIE_HTTPONLY = False
166CSRF_COOKIE_NAME = 'csrftoken'
167CSRF_COOKIE_PATH = '/'
168CSRF_COOKIE_SECURE = False
169CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
170CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
171CSRF_TRUSTED_ORIGINS = []
172CSRF_USE_SESSIONS = False
173DATABASES = {'default': {'NAME': 'postgres', 'USER': 'postgres', 'PASSWORD': '********************', 'HOST': 'postgres', 'PORT': '', 'ATOMIC_REQUESTS': True, 'OPTIONS': {}, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
174DATABASE_ROUTERS = []
175DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
176DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
177DATETIME_FORMAT = 'N j, Y, P'
178DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
179DATE_FORMAT = 'N j, Y'
180DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
181DEBUG = True
182DEBUG_PROPAGATE_EXCEPTIONS = False
183DEBUG_TOOLBAR_CONFIG = {'SHOW_COLLAPSED': True}
184DECIMAL_SEPARATOR = '.'
185DEFAULT_CHARSET = 'utf-8'
186DEFAULT_CONTENT_TYPE = 'text/html'
187DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
188DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
189DEFAULT_FROM_EMAIL = 'info@plus-one.ru'
190DEFAULT_INDEX_TABLESPACE = ''
191DEFAULT_TABLESPACE = ''
192DISALLOWED_USER_AGENTS = []
193DOMAIN = 'thesecondlaw.stg.kindbeetle.ru'
194EMAIL_BACKEND = 'sendgrid_backend.SendgridBackend'
195EMAIL_HOST = 'localhost'
196EMAIL_HOST_PASSWORD = '********************'
197EMAIL_HOST_USER = ''
198EMAIL_PORT = 25
199EMAIL_SSL_CERTFILE = None
200EMAIL_SSL_KEYFILE = '********************'
201EMAIL_SUBJECT_PREFIX = '[Django] '
202EMAIL_TIMEOUT = None
203EMAIL_USE_LOCALTIME = False
204EMAIL_USE_SSL = False
205EMAIL_USE_TLS = False
206FILE_CHARSET = 'utf-8'
207FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
208FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
209FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
210FILE_UPLOAD_PERMISSIONS = None
211FILE_UPLOAD_TEMP_DIR = None
212FIRST_DAY_OF_WEEK = 0
213FIXTURE_DIRS = []
214FORCE_SCRIPT_NAME = None
215FORMAT_MODULE_PATH = None
216FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
217IGNORABLE_404_URLS = []
218INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'adminsortable2', 'corsheaders', 'debug_toolbar', 'django_summernote', 'drf_yasg', 'rest_framework', 'rest_framework_swagger', 'robust', 'framework', 'tsl']
219INTERNAL_IPS = []
220LANGUAGES = [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
221LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
222LANGUAGE_CODE = 'en-us'
223LANGUAGE_COOKIE_AGE = None
224LANGUAGE_COOKIE_DOMAIN = None
225LANGUAGE_COOKIE_NAME = 'django_language'
226LANGUAGE_COOKIE_PATH = '/'
227LOCALE_PATHS = []
228LOGGING = {'version': 1, 'disable_existing_loggers': False, 'filters': {'require_debug_true': {'()': 'django.utils.log.RequireDebugTrue'}, 'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}, 'formatters': {'verbose': {'format': '%(levelname)s|%(asctime)s|%(name)s>> %(message)s'}}, 'handlers': {'plain': {'level': 'INFO', 'filters': ['require_debug_false'], 'class': 'logging.StreamHandler', 'formatter': 'verbose'}}, 'loggers': {'': {'handlers': ['plain'], 'level': 'DEBUG'}, 'py.warnings': {'level': 'ERROR'}, 'urllib3': {'level': 'WARNING'}, 'requests': {'level': 'WARNING'}}}
229LOGGING_CONFIG = 'logging.config.dictConfig'
230LOGIN_REDIRECT_URL = '/accounts/profile/'
231LOGIN_URL = '/accounts/login/'
232LOGOUT_REDIRECT_URL = None
233MANAGERS = []
234MEDIA_ROOT = '/app/media'
235MEDIA_URL = '/media/'
236MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
237MIDDLEWARE = ['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', 'django.middleware.locale.LocaleMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware']
238MIDDLEWARE_CLASSES = ['django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware']
239MIGRATION_MODULES = {}
240MONTH_DAY_FORMAT = 'F j'
241NUMBER_GROUPING = 0
242PASSWORD_HASHERS = '********************'
243PASSWORD_RESET_TIMEOUT_DAYS = '********************'
244PREPEND_WWW = False
245REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.SessionAuthentication',), 'DEFAULT_RENDERER_CLASSES': ('djangorestframework_camel_case.render.CamelCaseJSONRenderer',), 'DEFAULT_PARSER_CLASSES': ('djangorestframework_camel_case.parser.CamelCaseJSONParser',), 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend', 'rest_framework.filters.SearchFilter', 'rest_framework.filters.OrderingFilter'), 'PAGE_SIZE': 200, 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', 'DATE_FORMAT': '%Y-%m-%d', 'DATETIME_FORMAT': '%Y-%m-%d %H:%M:%S', 'TEST_REQUEST_DEFAULT_FORMAT': 'json', 'TEST_REQUEST_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer',), 'COERCE_DECIMAL_TO_STRING': False}
246ROBUST_ALWAYS_EAGER = False
247ROBUST_LOG_EVENTS = True
248ROBUST_NOTIFY_TIMEOUT = 10
249ROBUST_SCHEDULE = [(datetime.timedelta(0, 28800), 'robust.utils.cleanup'), (datetime.timedelta(0, 43200), 'framework.tasks.make_backup')]
250ROBUST_WORKER_FAILURE_TIMEOUT = 5
251ROOT_URLCONF = 'config.urls'
252SECRET_KEY = '********************'
253SECURE_BROWSER_XSS_FILTER = False
254SECURE_CONTENT_TYPE_NOSNIFF = False
255SECURE_HSTS_INCLUDE_SUBDOMAINS = False
256SECURE_HSTS_PRELOAD = False
257SECURE_HSTS_SECONDS = 0
258SECURE_PROXY_SSL_HEADER = "('HTTP_X_FORWARDED_PROTO', 'https')"
259SECURE_REDIRECT_EXEMPT = []
260SECURE_SSL_HOST = None
261SECURE_SSL_REDIRECT = False
262SENDGRID_API_KEY = '********************'
263SENDGRID_SANDBOX_MODE_IN_DEBUG = False
264SERVER_EMAIL = 'root@localhost'
265SESSION_CACHE_ALIAS = 'default'
266SESSION_COOKIE_AGE = 1209600
267SESSION_COOKIE_DOMAIN = None
268SESSION_COOKIE_HTTPONLY = True
269SESSION_COOKIE_NAME = 'sessionid'
270SESSION_COOKIE_PATH = '/'
271SESSION_COOKIE_SECURE = False
272SESSION_ENGINE = 'django.contrib.sessions.backends.db'
273SESSION_EXPIRE_AT_BROWSER_CLOSE = False
274SESSION_FILE_PATH = None
275SESSION_SAVE_EVERY_REQUEST = False
276SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
277SETTINGS_MODULE = 'config.settings'
278SHORT_DATETIME_FORMAT = 'm/d/Y P'
279SHORT_DATE_FORMAT = 'm/d/Y'
280SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
281SILENCED_SYSTEM_CHECKS = []
282STATICFILES_DIRS = []
283STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
284STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
285STATIC_ROOT = '/app/staticfiles'
286STATIC_URL = '/static/'
287SUMMERNOTE_CONFIG = {'iframe': True, 'width': '100%'}
288TEMPLATES = [{'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']}}]
289TEST_NON_SERIALIZED_APPS = []
290TEST_RUNNER = 'django.test.runner.DiscoverRunner'
291THOUSAND_SEPARATOR = ','
292TIME_FORMAT = 'P'
293TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
294TIME_ZONE = 'UTC'
295USE_ETAGS = False
296USE_HTTPS = True
297USE_I18N = True
298USE_L10N = True
299USE_THOUSAND_SEPARATOR = False
300USE_TZ = True
301USE_X_FORWARDED_HOST = True
302USE_X_FORWARDED_PORT = False
303WSGI_APPLICATION = 'config.wsgi.application'
304X_FRAME_OPTIONS = 'SAMEORIGIN'
305YADISK_PATH = 'thesecondlaw_testing'
306YADISK_TOKEN = '********************'
307YEAR_MONTH_FORMAT = 'F Y'
308
309
310You're seeing this error because you have DEBUG = True in your
311Django settings file. Change that to False, and Django will
312display a standard page generated by the handler for this status code.