Здравствуйте! в общем наткнулся на проблему с проксированием и не могу понять как реализовать....
У меня есть домен site.com на нём весь контент и в app.js
var Hsocket = {
wss:function () {
return new WebSocket("wss://wss."+location.host+"/");
},
и как вы поняли что websocket-ы должны идти через поддомен wss.site.com и с тем что на site.com еще стоит ssl соединение!
Всю голову сломал уже разные коды ошибок получаю(200,502,400,500,301) но запустить не получается
вот моя конфигурация nginx для site.com
server {
server_name site.com www.site.com ;
listen 111.111.111.111:80;
listen 111.111.111.111:443 ssl ;
ssl_certificate "/var/www/httpd-cert/site.com_2021-02-05-15-37_38.crt";
ssl_certificate_key "/var/www/httpd-cert/site.com_2021-02-05-15-37_38.key";
charset utf-8;
gzip on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/css text/xml application/javascript text/plain application/json image/svg+xml image/x-icon;
gzip_comp_level 1;
set $root_path /var/www/site.com/data/www/site.com/public;
root $root_path;
disable_symlinks if_not_owner from=$root_path;
location / {
index index.php index.html;
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/site.com.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpeg|avi|zip|gz|bz2|rar|swf|ico|7z|doc|docx|map|ogg|otf|pdf|tff|tif|txt|wav|webp|woff|woff2|xls|xlsx|xml)$ {
try_files $uri $uri/ @fallback;
}
location @fallback {
fastcgi_pass unix:/var/run/site.com.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
include "/etc/nginx/fastpanel2-sites/site.com/site.com.includes";
include /etc/nginx/fastpanel2-includes/*.conf;
error_log /var/www/site.com/data/logs/site.com-frontend.error.log;
access_log /var/www/site.com/data/logs/site.com-frontend.access.log;
}
вот конфигурация nginx для wss.site.com
server {
server_name wss.site.com www.wss.site.com ;
listen 111.111.111.111:80;
listen 111.111.111.111:443 ssl ;
ssl_certificate "/var/www/httpd-cert/wss.site.com_2021-02-05-17-15_42.crt";
ssl_certificate_key "/var/www/httpd-cert/wss.site.com_2021-02-05-17-15_42.key";
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://localhost:81;
}
}
ошибка при такой конфигурации
WebSocket connection to 'wss://wss.site.com/' failed: Error during WebSocket handshake: Unexpected response code: 200