Wpis z mikrobloga

Mam prostą aplikację z obsługą websocket'ów i na localhoście wszystko działa w porządku - jednak po wrzuceniu na serwer i skonfigurowaniu nginx nie chcę to działać.

To adres z którym łączy się moja aplikacja w Vue.js -> wss://mojadres.pl/ws/
Konfiguracja w pliku php-socket.php:

define('HOST_NAME',"mojadres.pl");
define('PORT',"1234");

Mam uruchomiony serwer websocket z pliku php poleceniem

nohup php php-socket.php /dev/null &
i widzę go po odpaleniu

ps aux | grep php
root 10105 0.0 6.2 92956 22368 pts/2 R 18:43 0:41 php php-socket.php

Do pliku konfiguracyjnego /etc/nginx/sites-available/default wrzuciłem

location /ws/ {
proxy_pass [https://mojadres.pl:1234/czat/php-socket.php;](https://mojadres.pl:1234/czat/php-socket.php;)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}

Jednak dalej nie działa to poprawnie - czy o czymś jeszcze zapomniałem?

#webdev #serwery #nginx #programowanie
  • 10
@jaskowice1: po pierwsze ss -tpnl i patrzysz czy proces php w ogóle słucha na porcie. dwa czemu robisz takiego proxy_pass ? skoro to lokalnie masz to puszczasz go na http (nie s, podejrzewam?) localhost:1234
@rhqq: Niestety odświeżam wątek. Przeszedłem na Cloudflare, zmieniłem domenę i przestało to działać poprawnie i mam zwracane info o tym, że WebSocket connection to 'wss://domena.app/ws/' failed:

Mam dokładnie takie ustawienia:

location /ws/ {
proxy_pass http://localhost:1234/czat/php-socket.php;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}

w /etc/nginx/sites-available/default i niestety to nie działa ????

Jak się łącze przez https://www.piesocket.com/websocket-tester to się łączy normalnie, a w aplikacji webowej nie działa poprawnie
@rhqq: Z tego co widze to taki sam log jest

connect() failed (111: Connection refused) while connecting to upstream, client: 2400:cb00:73:1024::ac44:8aac, server: _, request: "GET /ws/ HTTP/1.1", upstream: "http://[::1]:1234/czat/php-socket.php", host: "domena.app"
Tylko, że w testerze mam takie wyniki

- Connecting to: wss://domena.app/ws/
- Connection Established
▼ {"message":"New client 127.0.0.1 joined","message_type":"chat-connection-ack"}
▲ Hello PieSocket!
▼ null