502 ошибка шлюза появляется при сохранении данных в БД.
После входа пользователя в приложение django (OLE 7). Данные извлекаются относительно этого пользователя с сервера ldap и сохраняются в моей локальной базе данных (postgres). Он прекрасно работал на локальном сервере после настройки nginx, gunicorn, когда пользователь заходит на веб-сайт, вместо отображения полученных данных, он показывает 502 Bad gateway. Я прочитал много сообщений о переполнении стека, некоторые говорили, что нужно увеличить время ожидания, проверить, работает ли gunicorn. Я уже попробовал все это, но это все еще не будет работать.
nginx.conf
user nginx;
worker_processes 2;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
er nginx;
worker_processes 2;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 300;
#gzip on;
upstream app_server {
server 10.111.xxx.xxx:8001 fail_timeout=0;
}
server{
listen 80;
server_name 10.111.xxx.xxx;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {root /home/lisa/revcon;}
location / {
proxy_set_header Host $http_host;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/home/lisa/revcon/revcon.sock;
proxy_connect_timeout 500s;
proxy_read_timeout 600s;
}
views.py
def save_information(request):
associate_id = id_to_numeric(request.user.username)
ldap = Ldap()
associate_details = ldap.search(associate_id=associate_id)[0]
details = UserDetails(
associate_name=associate_details['name'],
associate_nbr=associate_id,
associate_email=associate_details['email'],
associate_department_id=id_to_numeric(associate_details['department']),
associate_mgr=associate_details['managerCN'],
associate_exec=associate_details['execCN'],
associate_org=associate_details['org'],
associate_image=img,
date_of_service=rcm_date,
title=associate_details['title'],
client=client,
lob=lob,
phone_number=associate_details['mobile'],
)
details.save()
messages.success(request, 'Profile created! ')
return redirect('/?submit=true')
Журнал ошибок nginx выглядит так:
2019/05/15 04:01:55 [ошибка] 7602 # 7602: * 1 восходящее преждевременно закрытое соединение при чтении заголовка ответа из восходящего потока, клиент: 10.111.044.xxx, сервер: 10.111.xxx.xxx, запрос : "POST / save_information HTTP / 1.1", восходящий поток: "http://unix:/home/lisa/revcon/revcon.sock:/save_information", хост:" 10.111.xxx.xxx ", реферер:" http://10.111.xxx.xxx/pr/"
gunicorn
SELECT "django_session"."session_key", "django_session"."session_data", "django_session"."expire_date" FROM "django_session" WHERE ("django_session"."session_key" = 'hzy3dsjxfzqxhds6kd5uyteux0gps9d1' AND "django_session"."expire_date" > '2019-05-15T09:04:53.974657+00:00'::timestamptz); args=('hzy3dsjxfzqxhds6kd5uyteux0gps9d1', datetime.datetime(2019, 5, 15, 9, 4, 53, 974657, tzinfo=))
(0.001) SELECT "auth_user"."id", "auth_user"."password", "auth_user"."last_login", "auth_user"."is_superuser", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."id" = 1; args=(1,)
(0.001) SELECT (1) AS "a" FROM "CollectData_userdetails" WHERE "CollectData_userdetails"."associate_nbr" = '050667' LIMIT 1; args=(u'050667',)
Exception while resolving variable 'img' in template 'CreateUser.html'.
Traceback (most recent call last):
File "/home/lisa/revcon/env/lib/python2.7/site-packages/django/template/base.py", line 903, in _resolve_lookup
(bit, current)) # missing attribute
VariableDoesNotExist: Failed lookup for key [img] in u'[{\'False\': False, \'None\': None, \'True\': True}, {u\'csrf_token\': , \'user\': >, \'perms\': , \'DEFAULT_MESSAGE_LEVELS\': {\'DEBUG\': 10, \'INFO\': 20, \'WARNING\': 30, \'SUCCESS\': 25, \'ERROR\': 40}, \'messages\': , u\'request\': }, {}, {\'form\': }, {\'block\': \n, , \n\n\n\n, , , , Associate \'>, , , , , , , , , , \n\n\t\t\t , , \\n\\t\\t\\t , , \\n]>}]'
Exception while resolving variable 'tag' in template 'bootstrap4/field.html'.
По этой ссылке
url («save_information», views.save_information, name = «save_information»),
а потом терпит неудачу. Ошибка 502.