لماذا عنوان الأيقونة هو localhost عندما أستخدم عنوان IP كاسم مضيف

لقد قمت بتثبيت نسخة تطوير من Discourse على نظام CentOS 7.7 وفقًا لدليل المبتدئين لتثبيت Discourse للتطوير باستخدام Docker/102009
خطوات الإعداد هي:

  1. جلب المصدر من discourse.git
  2. تغيير الإعدادات المتعلقة بمرسل البريد الإلكتروني في config/discourse_default.conf
  3. ./d/boot-env --init
  4. ./d/unicorn

تم تعيين اسم المضيف كعنوان IP مثل: 10.201.0.115
يمكنني الوصول إلى Discourse باستخدام 10.201.0.115:9292
ولكن جميع الصور لا تظهر.

فشل تحميل المورد: net::ERR_CONNECTION_REFUSED من http://localhost:9292/images/discourse-logo-sketch.png
لكن يمكنني استخدام http://10.201.0.115:9292/images/discourse-logo-sketch.png للحصول على ملف PNG.

علاوة على ذلك، لا يمكن الحصول على أيقونة الرد أيضًا.
أعلم أن السبب هو أن عنوان URL يجب أن يكون عنوان IP 10.201.0.115 وليس localhost.

ما الذي أحتاج إلى إعداده؟ بخصوص IP.

شكرًا لكل من يساعد.

هل يمكنك مساعدتي @pfaffman
شكرًا جزيلاً لك!

حلّي هو استخدام localhost على المنفذ 3000. هذا ما أنصح به.

إعجابَين (2)

شكرًا جزيلاً لك. تقصد أن موقعك الإلكتروني غير منشور للمستخدمين الآخرين. لكنني أستخدم منصة Discourse في شركتنا، ويمكن للأشخاص الوصول إلى الموقع عبر الشبكة المحلية للشركة. كيف يمكنني التعامل مع هذا الوضع؟

@pfaffman
هل تقصد أنني بحاجة فقط إلى إعداد DISCOURSE_HOSTNAME= localhost في ملف app.yml؟
هل هناك أي شيء آخر؟
هل يمكنك تقديم مثال للإعداد الصحيح؟

لقد قمت بتثبيت إصدار التطوير، وهو تثبيت محلي يهدف إلى التعديل على كود مصدر ديسكورش. ولا ينبغي استخدامه من قبل عدة أشخاص للاستفادة الفعلية من البرنامج.

إذا كنت ترغب في استخدام ديسكورش، فاتبع إرشادات التثبيت القياسي الرسمية من ديسكورش

إعجاب واحد (1)

حسناً، شكراً جزيلاً!
لكنني قمت بتثبيت إصدار آخر وفقاً لنفس العنوان الذي قدمته لي باستخدام discourse_docker.git بدلاً من discourse.git.
ما نحتاج إلى فعله هو أننا لا نستطيع استخدام المنفذ 80 لأنه مستخدم من قبل موقع ويب آخر.
يجب أن نستخدم منفذاً آخر بدلاً من 80.
لقد قمنا بتغيير المنفذ إلى 28080، ويمكن الوصول إلى الموقع الرئيسي للـ Discourse.
لكننا واجهنا مشكلة جديدة: عنوان الأيقونة أو ملف PNG لا يأخذ المنفذ الجديد 28080، بل يحاول فقط استخدام عنوان IP للحصول على ملف PNG، كما تعلم، لا يمكن الوصول إليه.
عنوان URL الصحيح لملف PNG هو: http://10.120.0.115:28080/some.png
عنوان URL الخاطئ لملف PNG هو: http://10.120.0.115/some.png
كيف يمكنني حل هذه المشكلة عندما نستخدم منفذاً آخر بدلاً من 80؟
@Falco @pfaffman
نتطلع إلى سماع ردكم.

يجب تشغيل Discourse على منافذ الويب القياسية 80/443. إذا لم تتمكن من السماح لـ Discourse بالاستماع مباشرةً على هذه المنافذ، فيجب عليك تكوين وكيل عكسي لإعادة توجيه حركة المرور من هذه المنافذ إلى Discourse، ويفضل استخدام نطاق فرعي.

إعجاب واحد (1)

شكرًا جزيلاً!
أنا أستخدم أيضًا وسيط عكسي Nginx
وهنا تكمن المشكلة الجديدة.

أستخدم أمر تشغيل Docker مباشرةً:
/usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=8 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET= -e DISCOURSE_DB_HOST=10.201.0.116 -e DISCOURSE_DB_PORT=5432 -e LC_ALL=en_US.UTF-8 -e LANGUAGE=en_US.UTF-8 -e DISCOURSE_HOSTNAME=10.201.0.115 -e DISCOURSE_DEVELOPER_EMAILS=sheoixoet@gmail.com -e DISCOURSE_SMTP_ADDRESS=smtp.gmail.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=sheoixoet -e DISCOURSE_SMTP_PASSWORD=wpjedgfoiibrbffe -e DISCOURSE_SMTP_ENABLE_START_TLS=true -e DISCOURSE_SMTP_AUTHENTICATION=login -e DISCOURSE_SMTP_OPENSSL_VERIFY_MODE=none -e DISCOURSE_DB_NAME=discourse -e DISCOURSE_DB_USERNAME=postgres -e DISCOURSE_DB_PASSWORD=wetrwet@26 -h wetwrigp93-app --name app -t -p 28080:80 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:3a:0a:b4:ce:e9 --privileged local_discourse/app /sbin/boot

المشكلة هي:
حالة المتصفح تظهر كـ “محظور (CSP)”؟
ما الذي يمكنني فعله؟
شكرًا.

@Falco @pfaffman
لقد حلت مشكلة CSP.
لكن هناك مشكلة جديدة:
لقد غيرت المنفذ الافتراضي من 80 إلى 28080
لكن عنوان الصورة PNG لا يأخذ المنفذ الجديد،
http://10.202.63.38/uploads/default/original/1X/3f10e1453ee931ddb6a9f5ab59d9e4578959fc33.jpeg
هذا عنوان خاطئ.
العنوان الصحيح يجب أن يكون:
http://10.202.63.38:28080/uploads/default/original/1X/3f10e1453ee931ddb6a9f5ab59d9e4578959fc33.jpeg
كيف يمكنني جعل الموقع الإلكتروني يستخدم المنفذ الجديد؟
شكرًا!

سأكون سعيدًا بالمساعدة. يرجى الاطلاع على Redirecting…

لكنني متأكد تقريبًا من أنه قد أُخبرك بالفعل بأنه لا يمكنك استخدام منفذ غير قياسي.

شكرًا جزيلاً!
كما تقول، يجب أن نستخدم المنفذ 80، وهذا ما سنضطر إلى فعله.

إعجاب واحد (1)

مرة أخرى، تحتاج إلى نطاق، حتى لو كان هذا النطاق يشير إلى 10.202.63.38. أنا متأكد من أن جاي يمكنه المساعدة في إعداده؛ ربما ستحتاج إلى التحدث إلى قسم تكنولوجيا المعلومات في الشركة :slight_smile:

إعجاب واحد (1)

شكرًا لك على مساعدتك! :grinning: