Перья. js -> socket.io не слушает firefox? - PullRequest
0 голосов
/ 14 февраля 2020

Я запускаю несколько тестов с перьями Js и nuxt js, и я загрузил свое приложение в digitalocean и добавил ssl (Let'sEncrypt) с помощью certbot, и затем начались проблемы. Я пытался здесь каким-то образом заставить его работать, но у меня ничего не получилось .. У меня мало знаний (или почти ничего) по nginx, и я нахожу документацию по перо js немного «пустой». Что ж, в итоге: если я настрою свою спину, как указано в документации [feathersjs] 1 , и установите для порта значение 443 и попытаюсь запустить приложение, сервер скажет, что порт уже используется. Если я пытаюсь создать proxy_pass на nginx для порта 445, он также говорит, что он используется ... Если я оставлю порт 3000 на бэкэнде, он даже запустится ... но Kapersky говорит, что сайт небезопасен (хотя это работает) и на firefox я не могу соединиться с сокетом .. Во всяком случае ...

Если кто-то может дать мне свет, потому что у меня уже есть 2 дня, которые я пытаюсь понять и обнаружить ошибку и не найти ее ...

// nginx

server {
    listen 443 ssl;

    root /var/www/html/public;
    index index.html index.htm index.nginx-debian.html;

    server_name helpfy.tech www.helpfy.tech;

    location / {
        proxy_pass https://localhost:3000;
        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;
    }
    ssl_certificate /etc/letsencrypt/live/helpfy.tech/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/helpfy.tech/privkey.pem; # managed by Certbot





}
server {
    if ($host = www.helpfy.tech) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = helpfy.tech) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80 default_server;
    listen [::]:80 default_server;

    server_name helpfy.tech www.helpfy.tech;
    return 404; # managed by Certbot
}

// src / index. js

const consola = require('consola')
const app = require('./app')
const port = app.get('port')
const fs = require('fs')
const https = require('https')

const server = https.createServer({
    key: fs.readFileSync('privkey.pem'),
    cert: fs.readFileSync('cert.pem'),
    requestCert: false,
    rejectUnauthorized: false
}, app).listen(3000)

// Call app.setup to initialize all services and SocketIO
app.setup(server)

process.on('unhandledRejection', (reason, p) =>
    consola.error({
        message: `${'Rejection não tratada em: Promise ', p, reason}`,
        badge: true
    })
)

server.on('listening', () =>
    consola.ready({
        message: (`Server UP => 'http://%s:%d`, app.get('host'), port),
        badge: true
    })
)

// клиент / перо-клиент. js

...
import io from 'socket.io-client'
import { CookieStorage } from 'cookie-storage'
import { iff, discard } from 'feathers-hooks-common'
import feathersVuex, { initAuth, hydrateApi } from 'feathers-vuex'

const socket = io('https://165.227.215.226:3000', { transports: ['websocket'] })

firefox возвращает 499 (запрос был запрещен антивирусом). Есть ли способ исправить это, не связываясь с антивирусом?

...