Canapin
(Coin-coin le Canapin)
10월 12, 2019, 11:39오후
1
안녕하세요. CentOS 서버에 Discourse를 설치했습니다. 또한 CentOS Web Panel을 사용 중입니다.
Discourse는 기본적으로 brotli를 사용하고 gzip로 폴백해야 하지만, 파일이 압축되지 않는 것 같습니다.
2.2 MB인 이 파일의 예시:
https://forum.canapin.win/assets/application-301651b1c7400a000974a9cecafd44ad3304cf647cf17bcfa7af68e9ed1ac4b7.js
Response Headers:
accept-ranges: bytes
cache-control: max-age=31536000
cache-control: public,immutable
content-length: 2334732
content-type: application/javascript
date: Sat, 12 Oct 2019 23:36:50 GMT
expires: Sun, 11 Oct 2020 23:36:50 GMT
last-modified: Sat, 12 Oct 2019 23:33:24 GMT
server: nginx/1.16.1
status: 200
Request Headers:
:authority: forum.canapin.win
:method: GET
:path: /assets/application-301651b1c7400a000974a9cecafd44ad3304cf647cf17bcfa7af68e9ed1ac4b7.js
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
cache-control: no-cache
cookie: _t=89fc0a58f2a08712f3156f2687553cf8; __profilin=p%3Dt%2Ca%3Da546654bdc3538a213cd6c6fcc4c2a92; _forum_session=YnhETkNaTjF1YTEzVXUvZW1pS1NuTVVzdm1WWndlRktMdmNlU3hBalR3dUYwRGVUTzhBSlM5WkNiS0hDdVQvRmtGeGtLOTRRNndRWk9YUFczbTJHdjMyajlNNkpXZ2xzeEZwMkVmd2grcHlILzJVVmZWeFVVNlBERVF4S3VDMkJ0N2pUWktJWitmbXc2MDFFV1VEcG56M09jalRjMEJOb2t6M1NSbjJQUit1eDFRZkdCMGplVjhLK1JUNFVNdnRmVmZuK1B1NVdwK0N5Q1VrNTdDa01tdXh1T3h2aDY4OGx0SDMzRC9Ma0YzdElFS0p6b0x3algvVnRhVlljVDQyOS0tYnpSeFl5MjNoMVFVMm42UE0ybFJ6Zz09--b49c4c072e917618f874818e246298bce81235e5
dnt: 1
pragma: no-cache
referer: https://forum.canapin.win/
sec-fetch-mode: no-cors
sec-fetch-site: same-origin
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
이유에 대해 혹시 아이디어가 있으신가요?
공식 설치 가이드에 따라 Docker를 사용하여 표준 설치를 진행하셨나요?
Canapin
(Coin-coin le Canapin)
10월 13, 2019, 12:43오전
3
다음 내용을 따랐습니다:
# Install Discourse on a Cloud Server
> To install and self-host Discourse, follow the steps below. But if you'd rather skip the setup, maintenance, and server management, our official Discourse hosting plans (Free, Pro, Business or Enterprise) take care of everything for you.
>
> [Learn more about Discourse hosting](https://discourse.org/pricing)
> If you prefer to self-host but need help setting it up we have partners who can help.
> [Click here to explore self-hosting set-up options](https://discourse.org/partners).
**Set up Discourse in about 10 minutes** with zero knowledge of Rails or Linux shell. Works on any Docker-compatible cloud provider or local server.
## Contents
- [Quick Start](#quick-start)
- [Requirements](#requirements)
- [Installation](#installation)
- [The Setup Wizard](#the-setup-wizard)
- [After Installation](#after-installation)
- [Advanced Configuration](#advanced-configuration)
- [Troubleshooting](#troubleshooting)
This file has been truncated. show original
포트 80이 이미 사용 중이었기 때문에, 앱을 부트스트랩하기 전에 app.yml 파일에서 포트만 변경했습니다.
discourse setup은 사용하지 않았습니다. 도커는 이미 설치되어 있었거든요.
Canapin
(Coin-coin le Canapin)
10월 13, 2019, 10:10오전
4
Discourse를 설치한 방법에 대해 매우 정확하게 설명드리면, 저는 다음과 같은 단계를 따랐습니다:
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
cp samples/standalone.yml containers/app.yml
여기서 포트를 변경했습니다:
## 이 컨테이너는 어떤 TCP/IP 포트를 노출해야 합니까?
## Apache나 nginx 같은 다른 웹서버와 포트를 공유하려면
## 자세한 내용은 https://meta.discourse.org/t/17247을 참조하세요
expose:
- "8080:80" # 호스트 포트 80을 컨테이너 포트 8080으로 포워딩 (http)
- "4443:443" # 호스트 포트 443을 컨테이너 포트 4443으로 포워딩 (https)
./launcher bootstrap app
./launcher start app
그리고 CentOS Web Panel의 nginx 설정에서 포트를 리다이렉트했습니다:
이것이 전부입니다.
sam
(Sam Saffron)
10월 14, 2019, 1:23오전
5
여기가 바로 문제입니다. 트래픽을 프록시 처리하고 있지만, 제대로 통과시키지 못하고 있습니다.
인터넷을 컨테이너에 직접 연결하고 이러한 모든 사항을 처리해 주는 표준 설치 방식을 그대로 유지하는 것을 권장합니다.
Canapin
(Coin-coin le Canapin)
10월 14, 2019, 9:36오전
6
감사합니다. 서버나 이런 것들에 대해 잘 알지 못해서 어떻게 해야 할지 모르겠습니다. 이전에 Plesk를 기본 설정으로 사용했을 때는 nginx 프록시를 사용해도 완벽하게 작동했습니다.
어쨌든 알아볼 방법을 찾아보겠습니다.
Canapin
(Coin-coin le Canapin)
10월 14, 2019, 10:50오후
7
@Arkshine 덕분에 제 문제가 해결되었습니다.
/etc/nginx/proxy.inc 파일에서 다음 줄들을 주석 처리해야 했습니다:
proxy_hide_header Vary;
proxy_set_header Accept-Encoding '';
이제 서버가 Discourse에 의해 적절히 압축된 파일을 전송합니다: