تشير الوثائق إلى أن io.origins()
يأخذ مصفوفة من السلاسل / الأصول (انظر المثال https://socket.io/docs/server-api/#server-origins-value) ، بينما في الحقيقة يفعل ذلك ليس. إنه يعمل فقط عند تقديم سلسلة بدلاً من مصفوفة.
ضبط
io.origins(['http://localhost:3000'])
ثم الاتصال من localhost:3000
لا يعمل.
لا يعمل إلا عند تعيين io.origins('http://localhost:3000')
أعتقد أنه لا يجب تضمين البروتوكول:
io.origins(['localhost:3000', 'localhost:3001']);
// or
io.origins('localhost:3000');
يعمل مع البروتوكول عندما يتم توفيره كسلسلة ، ولا يحدث عند توفيره في مصفوفة 😄
لكن شكرا للتوضيح!
أعتقد أنه تم تنفيذه indexOf
، ومن هنا جاء السلوك غير التقليدي.
سأضيف ملاحظة في الوثائق.
لقد واجهت للتو نفس المشكلة - مصفوفة بالبروتوكول في عنوان URL ، على سبيل المثال io.origins([https://subdomain.domain.ee:*])
لا تعمل ، بينما io.origins([subdomain.domain.ee:*])
تعمل.
بينما يتضمن المثال الموجود في التوثيق https://
في مثال المصفوفة: io.origins(['https://foo.example.com:443']);
.
بالنظر إلى هذا الالتزام ، يبدو أنه تم تغيير المستندات لتشمل هذا المثال ، ومع ذلك ما زال يحدث لي؟
كنت أستخدم [https://subdomain.domain.ee:*]
كعنوان URL ، والذي لا يعمل ، ولا مع http://
(على الرغم من أنه في حالتي يجب أن يكون متاحًا فقط عبر https://
أي حال). بمجرد إزالة البروتوكول ، بدأ العمل.
اعتقدت أنني سأبلغ عن هذا هنا فقط في حالة. هل من المحتمل أن أفتقد شيئًا؟
التعليق الأكثر فائدة
أعتقد أنه لا يجب تضمين البروتوكول: