그러면 리버스 프록시를 제거하면 작동한다는 뜻인가요? 그렇다면 문제는 리버스 프록시 설정에 있는 것이겠네요 ![]()
네!
그러면 리버스 프록시를 제거하면 작동한다는 뜻인가요? 그렇다면 문제는 리버스 프록시 설정에 있는 것이겠네요 ![]()
네!
@Falco 드디어 해결책을 찾았어요! HAPROXY, NGINX, APACHE로 HTTP 역프록시(reverse proxying)를 시도해 봤는데, 사이트는 정상적으로 작동했지만 삭제 문제가 항상 나를 기다리고 있었어요.
어젯밤에 정말로 Discourse를 쓰고 싶어서 마지막 시도해 보기로 했어요. 스스로에게 이렇게 말했죠: “자, HTTPS로 시도해 봐. 차이는 없을 거야. 하지만 포기하기 전에 왜 한번 시도해 보지?”
결론부터 말하면, HTTPS를 사용하면 모든 것이 완벽하게 작동합니다. 제게는 이 방식이 완벽해요. 이제 HTTP는 쓰레기통에 던져 버릴게요 ![]()
Apache 설정의 관련 부분은 다음과 같습니다:
<VirtualHost *:443> ServerName discourse.apicolturaitalianafb.it SSLEngine on SSLCertificateFile "/usr/local/ssl/crt/certificate.crt" SSLCertificateKeyFile "/usr/local/ssl/crt/private.key" SSLCertificateChainFile "/usr/local/ssl/crt/ca_bundle.crt" <Location /> ProxyPreserveHost On RequestHeader set Host "discourse.apicolturaitalianafb.it:8443" ProxyPass http://discourse.apicolturaitalianafb.it:8880/ </Location> </VirtualHost>
그리고 Discourse의 app.yml 파일입니다:
templates: - "templates/postgres.template.yml" - "templates/redis.template.yml" - "templates/web.template.yml" - "templates/web.ratelimited.template.yml" # - "templates/web.socketed.template.yml" ## Lets Encrypt(https)를 추가하려면 아래 두 줄의 주석을 해제하세요 #- "templates/web.ssl.template.yml" #- "templates/web.letsencrypt.ssl.template.yml" ## 이 컨테이너가 노출할 TCP/IP 포트는? ## Apache나 nginx 같은 다른 웹서버와 포트를 공유하려면 ## https://meta.discourse.org/t/17247 를 참고하세요 expose: - "8880:80" # http # - "8443:443" # https
오래전부터 그렇게 되어야 했어! ![]()
해결된 것 같아 기뻐.