Warum ist die Icon-Adresse localhost, wenn ich eine IP als Hostname verwende

Ich habe die Discourse-Entwicklungsversion gemäß der Anleitung „beginners-guide-to-install-discourse-for-development-using-docker/102009

Kannst du mir helfen, @pfaffman?
Vielen Dank!

Meine Lösung besteht darin, localhost auf Port 3000 zu verwenden. Das ist meine Empfehlung.

Vielen Dank.
Sie meinen, dass Ihre Website für andere Benutzer nicht veröffentlicht ist.
Ich verwende Discourse jedoch in unserem Unternehmen, und Mitarbeiter können über das lokale Firmennetzwerk auf die Website zugreifen.
Wie kann ich in dieser Situation vorgehen?

@pfaffman
meinst du: Ich muss einfach nur DISCOURSE_HOSTNAME=localhost in app.yml konfigurieren?
Gibt es noch etwas anderes?
Könntest du ein Beispiel für die korrekte Konfiguration geben?

Sie haben die Entwicklungsversion installiert. Diese ist eine lokale Installation, um am Discourse-Quellcode zu arbeiten. Sie ist nicht dafür gedacht, von mehreren Personen zur eigentlichen Nutzung der Software verwendet zu werden.

Wenn Sie Discourse nutzen möchten, befolgen Sie die offizielle Standardinstallation von Discourse.

Okay, vielen Dank!
Aber ich habe eine andere Version installiert, und zwar nach derselben Anleitung, die du mir gegeben hast, wobei ich discourse_docker.git anstelle von discourse.git verwendet habe.
Das Problem ist, dass wir den Port 80 nicht verwenden können, da er bereits von einer anderen Website belegt ist.
Wir müssen einen anderen Port anstelle von 80 verwenden.
Wir haben den Port auf 28080 geändert, und unsere Haupt-Website von Discourse ist erreichbar.
Aber wir haben ein neues Problem: Die Adresse für das Icon oder PNG berücksichtigt nicht den neuen Port 28080; es wird einfach die IP-Adresse verwendet, um das PNG abzurufen, was leider nicht funktioniert.
Die korrekte PNG-URL lautet: http://10.120.0.115:28080/some.png
Die falsche PNG-URL lautet: http://10.120.0.115/some.png
Was können wir tun, wenn wir einen anderen Port anstelle von 80 verwenden?
@Falco @pfaffman
Ich freue mich auf eure Rückmeldung.

Discourse muss auf den Standard-Webports 80/443 ausgeführt werden. Wenn Sie nicht zulassen können, dass Discourse direkt auf diesen Ports lauscht, sollten Sie einen Reverse-Proxy konfigurieren, um den Datenverkehr von diesen Ports auf Discourse umzuleiten, vorzugsweise unter Verwendung einer Subdomain.

Vielen Dank!
Ich verwende ebenfalls einen Reverse-Proxy, Nginx.
Dabei ist das neue Problem aufgetreten.

Ich führe docker run direkt aus.
/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

Das Problem ist:
Der Browser meldet den Status „blocked (csp)"?
Was kann ich tun?
Vielen Dank.

@Falco @pfaffman
Ich habe das CSP-Problem gelöst.
Aber es gibt ein neues:
Ich habe den Standardport 80 auf 28080 geändert,
aber die PNG-Adresse berücksichtigt den neuen Port nicht.
http://10.202.63.38/uploads/default/original/1X/3f10e1453ee931ddb6a9f5ab59d9e4578959fc33.jpeg
das ist eine falsche Adresse.
die korrekte müsste sein:
http://10.202.63.38:28080/uploads/default/original/1X/3f10e1453ee931ddb6a9f5ab59d9e4578959fc33.jpeg
wie kann ich bewirken, dass die Webseite den neuen Port verwendet?
Danke!

Gerne helfe ich Ihnen. Bitte schauen Sie unter Redirecting… nach.

Aber ich bin mir ziemlich sicher, dass Ihnen bereits mitgeteilt wurde, dass Sie keinen nicht standardmäßigen Port verwenden können.

Vielen Dank!
Wie du sagst, müssen wir den Port 80 verwenden. Das werden wir tun müssen.

Auch hier benötigst du eine Domain, selbst wenn diese auf 10.202.63.38 zeigt. Ich bin mir sicher, Jay kann dir dabei helfen, das einzurichten; du wirst wahrscheinlich mit der firmeninternen IT sprechen müssen :slight_smile:

Vielen Dank für deine Hilfe! :grinning: