为Nuxt.js前置Nginx反向代理添加基础认证时遇网关超时
Nuxt.js应用Nginx反向代理配置基础认证后请求挂起及401错误排查
场景与问题
我正尝试为Nuxt.js应用的前端配置Nginx反向代理基础认证,配置后请求出现挂起现象。将认证配置移至location块内后问题依旧,调整upstream配置、代理超时参数均未解决,仅在pm2日志中看到401错误。.htpasswd文件已存在且内容正确。
尝试过的配置
初始Nginx配置
server { server_name <url>; auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd; gzip on; gzip_types text/plain application/xml text/css application/javascript; gzip_min_length 1000; location / { proxy_pass http://127.0.0.1:3222; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } listen 443 ssl; # managed by Certbot }
尝试的upstream配置(无效)
upstream backend { server backend1.example.com weight=5; server backend2.example.com:8080; server unix:/tmp/backend3; server backup1.example.com:8080 backup; server backup2.example.com:8080 backup; } server { location / { proxy_pass http://backend; } }
调整超时后的配置
upstream部分
upstream backend { server 127.0.0.1:3222; keepalive 7000; }
location部分
auth_basic "Restricted Content"; auth_basic_user_file conf.d/.htpasswd; proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_read_timeout 7200s; proxy_connect_timeout 75s; proxy_buffer_size 8k; proxy_set_header Authorization $http_authorization; proxy_pass_header Authorization; }
错误日志
pm2中记录的错误:
ERROR Request failed with status code 401 at createError (node_modules/axios/lib/core/createError.js:16:15) at settle (node_modules/axios/lib/core/settle.js:17:12) at IncomingMessage.handleStreamEnd (node_modules/axios/lib/adapters/http.js:269:11) at IncomingMessage.emit (events.js:327:22) at endReadableNT (_stream_readable.js:1220:12) at processTicksAndRejections (internal/process/task_queues.js:84:21)
请问我遗漏了什么配置或步骤,导致请求挂起且出现401错误?
内容的提问来源于stack exchange,提问作者user2099762
相关产品推荐
相关产品推荐

