0
私は奇妙な問題に直面しています。私のAPIには、jsonarray(リクエストボディサイズは通常40KB)をjsonに送信するためにPUTCH(PUTとPOSTも同じ結果を試しました)を使用しているエンドポイントがあります。私がWi-Fiを使ってこれをやっているとき、すべて正常に動作します。しかし、私はモバイルネットワークを使用している場合、私はSocketConnectionタイムアウト(Retrofit/Kotlinで)いくつかの携帯電話(iOSは完璧)で直面しています。 nginxのののaccess.logからモバイルネットワーク上のHTTP要求408エラー(クライアント要求のタイムアウト)。 Django + Gunicorn + Nginx
:
domain - - [21/Nov/2017:16:33:01 +0000] "PATCH /endpoint/ HTTP/1.1" 408 0 "-" "Dalvik/2.1.0 (Linux; U; Android 6.0.1; Nexus 5 Build/M4B30Z)"
nginxの設定ファイル:
server {
listen port;
server_name domain;
client_max_body_size 32m;
proxy_connect_timeout 75s;
proxy_read_timeout 300s;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/user/apps/api;
}
location/{
include proxy_params;
proxy_pass http://unix:/home/user/apps/api/api.sock;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/domain/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
Gunicornの設定:
respawn
setuid root
setgid www-data
chdir /home/user/apps/api
exec /home/user/virtualenvs/apienv/bin/gunicorn --workers 3 --timeout=90 --bind unix://api.sock api.wsgi:application