حسین شیری نژاد
12 ماه پیش توسط حسین شیری نژاد مطرح شد
3 پاسخ

لاراول اکو سرور

سلام دوستان
شبتان بخیر
من دارم از برودکست و ریل تایم تو سایتم استفاده میکنم
از کتابخونه laravel-echo-server و ردیس برای ریل تایم استفاده کردم تو لوکال هاست ریل تایم به خوبی کار میکنه اما در سرور مشکل داره و مدام یه ارور میده
ارور اول cors origin بود که برطرف شد
حالا ی خطای دیگه مرتب میده و منو خسته کرده
تصویر خطا رو قرار دادم
 تصویر

و نمونه کدهای من در فایل جی اس به صورت زیر هستش

import _ from "lodash";
window._ = _;

/**
 * We'll load the axios HTTP library which allows us to easily issue requests
 * to our Laravel back-end. This library automatically handles sending the
 * CSRF token as a header based on the value of the "XSRF" token cookie.
 */

import axios from "axios";

window.axios = axios;

window.axios.defaults.headers.common["X-Requested-With"] = "XMLHttpRequest";

/**
 * Echo exposes an expressive API for subscribing to channels and listening
 * for events that are broadcast by Laravel. Echo and event broadcasting
 * allows your team to easily build robust real-time web applications.
 */
$.ajaxSetup({
    headers: {
        "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
    },
});

import Echo from "laravel-echo";
window.io = require("socket.io-client");
if (typeof io !== 'undefined') {
    window.Echo = new Echo({
        broadcaster: "socket.io",
        transports: ["websocket", "polling", "transports"],
        host: 'https://mydomain.com:6001',
    });
}

وب سرور انجینیکس هست که تنظیماتش هم برای لاراول اکو سرور به این صورت انجام شده

location /socket.io/ {
    proxy_pass http://localhost:6001/;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
}

فایل laravel-echo-server.json هم به این صورت هست

{
    "authHost": "https://mydomain.com",
    "authEndpoint": "/broadcasting/auth",
    "clients": [],
    "database": "redis",
    "databaseConfig": {
        "redis": {
            "host": "127.0.0.1",
            "port": "6379"
        }
    },
    "devMode": true,
    "host": null,
    "port": "6001",
    "protocol": "https",
    "socketio": {},
    "sslCertPath": "/etc/letsencrypt/live/mydomain.com/cert.pem",
    "sslKeyPath": "/etc/letsencrypt/live/mydomain.com/privkey.pem",
    "sslCertChainPath": null,
    "sslPassphrase": null,
    "subscribers": {
        "http": false,
        "redis": true
    },
    "apiOriginAllow": {
        "allowCors": true,
        "allowOrigin": "https://mydomain.com, https://mydomain.com:6001",
        "allowMethods": "GET, POST",
        "allowHeaders": "Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id"
    }
}

اگه راه حلی دارید بفرمایید با کمال میل در خدمتم


ثبت پرسش جدید
مهدی میرابی
تخصص : full-stack developer
@mmirabi 12 ماه پیش مطرح شد
0

سلام

به نظر میاید که مشکل شما ممکنه به دلیل تنظیمات SSL و WebSocket باشه.

  1. تنظیمات Nginx:

    • مطمئن بشید که تنظیمات Nginx شما به درستی انجام شده.
      location /socket.io/ {
      proxy_pass http://localhost:6001;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      }
  2. تنظیمات Laravel Echo Server:

    • تنظیمات SSL در فایل laravel-echo-server.json به درستی اعمال کردید؟
    • مطمئن بشید که sslCertPath و sslKeyPath به صورت کامل به فایل‌های SSL شما اشاره کرده باشه.
  3. تنظیمات Laravel Echo:

    • در فایل‌های Vue.js یا جاوااسکریپت کانفیگ های host به درستی تنظیم شده باشه.
    window.Echo = new Echo({
        broadcaster: "socket.io",
        transports: ["websocket", "polling"],
        host: window.location.hostname + ':6001',
    });
    • در مقدار بالا window.location.hostname ممکنه نیاز به تغییر داشته باشه، بسته به نحوه تنظیم دامنه شما.

اگر با راهکارها مشکل حل نشد، اطلاعات بیشتری در مورد ارورهای لاگ ناکس و لاگ‌های سرور Laravel Echo می‌توانه به تشخیص دقیق‌ترمشکل کمک کنه.

موفق باشید.


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 12 ماه پیش مطرح شد
0

سلام ممنونم از شما
این ارورهای لاگ ناکس و لاگ‌های سرور Laravel Echo رو از کدم فایل و قسمت باید پیدا کنم؟
@mmirabi


مهدی میرابی
تخصص : full-stack developer
@mmirabi 12 ماه پیش مطرح شد
0

لاگ ناکس (Nginx):
لاگ ارور ناکس:

مسیر: /var/log/nginx/error.log

لاگ دسترسی ناکس:
مسیر: /var/log/nginx/access.log

لاگ‌های سرور Laravel Echo:
مسیر پیش‌فرض:

/path/to/your/laravel/app/storage/logs/laravel.log


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام