Я только что создал новый экземпляр Ubuntu на AWS. После установки Nginx заголовки запроса не анализируются правильно, когда я запрашиваю использование устройства (Android / iOS).
Используя почтальон, я могу получить заголовки в приложении узла, но всякий раз, когда я пытаюсь с помощью устройство показывает неопределенное. Используя publi c DNS, я могу получить заголовки, поэтому я ожидаю, что проблема связана с конфигурацией Nginx.
Вот заголовки, которые я получаю в моем приложении Node js от почтальона. и android устройство соответственно:
// с использованием Почтальона
{ host: '<Host>',
'x-real-ip': '<id-address>',
connection: 'upgrade',
'cache-control': 'no-cache',
'postman-token': <token>,
authorization: <auth_token>,
'content-type': 'application/json',
'user-agent': 'PostmanRuntime/6.2.5',
accept: '*/*',
'accept-encoding': 'gzip, deflate' }
// using android device
{ host: '<host>',
'x-real-ip': '<ip-address>',
connection: 'upgrade',
'accept-encoding': 'gzip',
'user-agent': 'okhttp/3.10.0' }
Как видно из заголовков устройств авторизация отсутствует, поэтому она отображается как неопределенная.
Nginx конфигурация:
upstream backend {
server 127.0.0.1:8000;
}
server {
if ($host = <host>) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen [::]:80;
listen 80;
server_name <host>;
return 404; # managed by Certbot
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream error timeout http_502 http_503 http_504;
}
}
Пожалуйста, помогите мне с этим.
Заголовки от iOS устройства
http://<request-url>/?is_new_device=false&device_id=A2F6C479-2C52-4A43-ADB6-D86771431B5A
▿ url : Optional<URL>
▿ some : http://<request-url>/?is_new_device=false&device_id=A2F6C479-2C52-4A43-D86771431B5A
- _url : http://<request-url>/?is_new_device=false&device_id=A2F6C479-2C52-4A43-D86771431B5A
- cachePolicy : 0
- timeoutInterval : 60.0
- mainDocumentURL : nil
- networkServiceType : __C.NSURLRequestNetworkServiceType
- allowsCellularAccess : true
▿ httpMethod : Optional<String>
- some : "GET"
▿ allHTTPHeaderFields : Optional<Dictionary<String, String>>
▿ some : 2 elements
▿ 0 : 2 elements
- key : "Authorization"
- value : "Bearer google-oauth2 <token>"
▿ 1 : 2 elements
- key : "User-Agent"
- value : "Impact/3.5.16 iPhone9,3 iOS/13.3 CFNetwork/1121.2.2 Darwin/19.2.0"
- httpBody : nil
- httpBodyStream : nil
- httpShouldHandleCookies : true
- httpShouldUsePipelining : false