Skip to main content

Transfer Upgrade header expected 'websocket', found 'undefined'

· 2 min read
Wisnu Harjanta
[2024-09-27 09:51:53.718] error: [Data transfer] Error in websocket upgrade request
[2024-09-27 09:51:53.718] error: Transfer Upgrade header expected 'websocket', found 'undefined'. Please ensure that your server or proxy is not modifying the Upgrade header.
Error: Transfer Upgrade header expected 'websocket', found 'undefined'. Please ensure that your server or proxy is not modifying the Upgrade header.

error ini ditemukan di strapi version v4.15.0 pakai node v18.20.4. jadi casenya itu ketika strapi production mau pull data dari staging atau sebaliknya, menggunakan perintah ini

$ strapi transfer --to https://strapi.example.com/admin --to-token <token>

ketika dijalankan muncul error berikut

? The transfer will delete existing data from the remote Strapi! Are you sure you want to proceed? Yes
[2024-09-27 17:20:21.618] error: [FATAL] Failed to initialize the connection: Unexpected server response 200
Transfer process failed.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

setelah dicek ternyata di lognya strapi remote terdapat error

[2024-09-27 09:51:53.718] error: [Data transfer] Error in websocket upgrade request
[2024-09-27 09:51:53.718] error: Transfer Upgrade header expected 'websocket', found 'undefined'. Please ensure that your server or proxy is not modifying the Upgrade header.
Error: Transfer Upgrade header expected 'websocket', found 'undefined'. Please ensure that your server or proxy is not modifying the Upgrade header.

bagaiman cara fixnya distrapi sendiri karena transfer data ini menggunakkan websocket, maka di nginxnya perlu diupdate.

buka file berikut /etc/nginx/sites-available/yourdomain

dan tambahkan konfigurasi berikut

server {
listen 80;
server_name <yourdomain>;
location / {
proxy_pass http://localhost:1337;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
include proxy_params;
}
}

dan coba lakukan transfer lagi

reference: