Я пытаюсь подключить клиент websocket к моему серверу с помощью ssl-соединения. Я хочу достичь его с помощью www.myurl.com/socket/ (поддомены также могут быть вариантом), а сервер websocket работает на порту 7777. Поскольку на сервере работает Plesk, мне нужно выполнить настройку в интерфейсе Plesk.
Я только что попытался разместить здесь свою конфигурацию: Apache & nginx Settings for myurl | Additional nginx directives
Моя конфигурация выглядит следующим образом:
location /socket/ {
proxy_pass "http://127.0.0.1:7777";
proxy_read_timeout 60;
proxy_connect_timeout 60;
proxy_redirect off;
# Allow the use of websockets
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;
}
Я не могу установить соединение. Он работал без des proxy_pass на незащищенном соединении.
Я неправильно разместил конфигурацию или намекнул, в чем может быть проблема? Также мне помогло бы наличие полезных методов или инструментов для анализа того, где находится ошибка.
Гарантировать, что
/etc/nginx/sites-available/myurl.com
ln -s /etc/nginx/sites-available/myurl.com /etc/nginx/sites-enabled
nginx -t
service nginx restart
В вашей конфигурации есть множество опций, которые могут вам не понадобиться. Я предлагаю упростить его, чтобы увидеть, работает ли основное.
server {
server_name myurl.com;
location / {
proxy_pass http://127.0.0.1:7777;
}
}
Попробуй получить доступ http://myurl.com/socket Если это не сработает, попробуйте добавить «www» или «/ socket» в конфигурацию сервера. Только как только вы начнете работать с http, затем добавьте параметры сертификата SSL.
server {
server_name myurl.com;
location /socket {
proxy_pass http://127.0.0.1:7777/socket;
}
location / {
proxy_pass http://127.0.0.1:7777;
}
listen [::]:443 ssl;
listen 443 ssl;
ssl_certificate /etc/ssl/ssl.crt;
ssl_certificate_key /etc/ssl/ssl.key;
}
server {
if ($host = myurl.com) {
return 301 https://$host/;
}
listen 80;
listen [::]:80;
server_name myurl.com;
return 404;
}