Mən bir veb sayt müştərisini serverimə bir ssl bağlantısı ilə bağlamağa çalışıram. Buna www.myurl.com/socket/ ilə çatmaq istəyirəm (alt domenlər də bir seçim olar) və veb şəbəkə server 7777 portda işləyir. Server Plesk işlədiyi üçün Plesk İnterfeysində konfiqurasiya etməliyəm.
Yenicə cəhd etdiyim konfiqurasiyamı burada yerləşdirməkdir:
Apache & mygin üçün nginx parametrləri | Əlavə nginx direktivləri
Konfiqurasiyam belədir:
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;
}
Heç bir əlaqə qurulmadı. Təhlükəsiz olmayan əlaqədə des proxy_pass olmadan işləyirdi.
Konfiqurasiyanı səhv qoymuşam, yoxsa problemin ola biləcəyi başqa bir ipucu? Səhvin harada olduğunu analiz etmək üçün faydalı metodlar və ya alətlər varsa mənə də kömək edəcəkdir.
Убедитесь, что
/etc/nginx/sites-available/myurl.com
ln -s /etc/nginx/sites-available/myurl.com /etc/nginx/sites-enabled
nginx -t
Перезапуск службы nginx
В вашей конфигурации есть много опций, которые вам могут не понадобиться. Я предлагаю упростить его, чтобы увидеть, работает ли основное.
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;
}