새 설치에서 SVG가 누락되었습니다

안녕하세요, 제 사이트에서 모든 SVG 아이콘이 사라진 원인이 무엇일지 혹시 아시나요? 그리고 되돌릴 수 있는 방법이 있을까요? 방금 설치한 새로운 도커 환경입니다.

force-https를 활성화해 보세요? 캐시를 삭제하려면 Ctrl + F5를 눌러 새로고침을 해 보세요?

확실히 캐시 문제는 아닙니다. 로컬에서 실행 중이라 HTTPS를 강제할 수도 없어요.

네트워크 로그에 무엇이 표시됩니까?

[08/Feb/2024:23:28:10 +0000] "localhost:8087" 192.168.65.1 "GET /svg-sprite/localhost:8087/svg-1-35f1b7e7d78d4b224c6ced63e8fc60a8ee1add9f.js HTTP/1.1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" "-" 404 2915 "http://localhost:8087/" 0.027 0.026 "-" "-" "-" "-" "-" "-" "-"

이것과 관련이 있을까요? 파일 경로 중간에 있는 base url이 무슨 역할을 하는지 정확히 모르겠습니다.

음, 그건… 매우 잘못된 것 같아. 나는 여기서 개인적으로 크게 도움이 될 수 없을 것 같아. 다른 누군가가 도와줄 수 있길 바라.

개발용 설치 환경에서는 이미지를 표시하려면 포트를 변경해야 한다고 생각합니다:

그건 완전히 별개의 문제입니다. 제 설치가 요청하는 리소스의 URL에 이미 포트 번호 8087가 포함되어 있는 것을 확인하실 수 있습니다.

개발용 설치에는 좀 서툰 편이에요. :slight_smile: 혹시 다른 분이 조언을 해주시지 않을까요. :crossed_fingers:

정상적으로 설치된 분 중에 svgSpritePath 값이 무엇인지 알려주실 분 있나요?
제 경우엔 "/svg-sprite/localhost:8087/svg-1-35f1b7e7d78d4b224c6ced63e8fc60a8ee1add9f.js"로 설정되어 있는데, 분명히 잘못된 값입니다. 다만 이 값이 어디서 오는지 모르겠네요.

아마도 이것이 문제일 것입니다. 포트 없이 도메인만 기대하는 것 같습니다. (제 환경에는 포트가 없습니다.)

저는 Docker 개발용 설치를 사용하지 않아서 확실히 알지 못합니다.

제 경우(Windows WSL)에서는 URL이 http://localhost:4200이며, Discourse를 시작하려면 다음 명령을 사용합니다: DISCOURSE_HOSTNAME=localhost UNICORN_LISTENER=localhost:3000 bin/ember-cli -u

따라서 아마도 DISCOURSE_HOSTNAME 또는 유사한 항목을 정의해야 하는 것 같다는 생각이 듭니다.

네, 방금 게시하려고 했는데요-- SVG가 로드되지 않는 이유는 해당 JS 파일에 URL이 http://localhost:8087/svg-sprite/localhost/svg-… 로 되어 있기 때문이에요.
그 스크립트는 다음을 로드하려고 하고 있어요.
http://localhost:8087/svg-sprite/localhost:8087/svg-…
즉, 호스트명의 포트가 문제인 것 같습니다.
하지만 DISCOURSE_HOSTNAME을 단순히 localhost로 변경하면 사이트가 아예 로드되지 않아요. 어떤 곳에서는 포트가 필요한 것 같고, 다른 곳에서는 필요하지 않은 것 같습니다.