Ghost https config 설정하기: 127.0.0.1:2368 Redirect 해결

Ghost https config 설정하기: 127.0.0.1:2368 Redirect 해결
Ghost logo

서론

읽기 전에 앞서

  • 혹시 처음부터 Ghost를 만들고 계신가요?
5분 안에 AWS Lightsail로 초간단 Ghost 블로그 만들기
서론 Ghost는 사용하기 편리한 컨텐츠 경험을 제공합니다. * SEO 마케팅에 관심 있는 분 * SEO 최적화가 된 블로그를 가지고 싶으신 분 * 자체적인 기술 블로그를 운영하고 싶으신 개발자 분 * 블로그 수익 창출을 원하시는 부업거리를 찾는 분 * 워드프레스(Wordpress)의 경험이 좋지 않아 새로운 블로그 툴을 찾는 분 다양한 목적으로 사용될 수 있으며 처음
  • SSL 인증서를 발급받지 않으셨나요?
15분안에 Ghost 블로그 https 설정하기 (1): ssl 인증 등록
서론 먼저 Ghost로 블로그를 시작하시게 된 점 축하드리고 환영합니다. 🎉 처음에는 어려울 수 있지만 금방 금방 익힐 수 있을거예요. 만약, 아직 Ghost를 생성하시지 않으셨다면 이 전 글을 보시고 오시는걸 권장드립니다 😁 해당 글은 http:// 로 접근 가능한 블로그를 가지신 분들이 읽기를 권장합니다. AWS Lightsail로 5분만에 초간단 Ghost 블로그 만들기서론 Ghost는 사용하기 편리한

혹시 {블로그 URL}/sitemap.xml 접속 시 다음과 같이 https가 적용되지 않은 사이트맵이 출력되시나요?

혹은 다음과 같은 현상이 발생하시나요?

  • 게시물을 작성하실 때 localhost로 리다이렉트 되는 이슈
  • 자신의 블로그로 들어가면 127.0.0.1:2368 로 리다이렉트 되는 이슈

위 사항들이 문제가 되었다면 잘 오셨습니다. 🎉 제가 도와드릴게요.

과정

ghost config의 url에 http를 https로 변경

AWS Lightsail 인스턴스

다음과 같은 명령어를 입력합니다.

sudo vim /opt/bitnami/ghost/config.production.json

그리고 "url"http 로 시작되는 url을 https:// 로 시작되도록 변경합니다.

{
  "database": {
    "client": "mysql",
    "connection": {
      "host": "127.0.0.1",
      "port": 3306,
      "database": "bitnami_ghost",
      "user": "bn_ghost",
      "password": "-",
      "ssl": false
    }
  },
  "url": "https://{URL}", // 여기를 http에서 https로 바꿔주세요.
  "server": {
    "port": 2368,
    "host": "0.0.0.0",
    "trust proxy": true // 이 행도 추가해주세요.
  },
  "mail": {
    "transport": "Direct"
  },
  "logging": {
    "transports": [
      "file"
    ]
  },
  "process": "local",
  "paths": {
    "contentPath": "/opt/bitnami/ghost/content"
  }
}
/opt/bitnami/ghost/config.production.json

ghost의 환경 변수를 등록하여 어플리케이션 레벨에서 원래 http 값을 https 로 변경해줍니다.

vhost에 https 헤더 설정 및 서버네임 변경

다음과 같이 ghost-https-vhost.conf 파일을 열어줍니다.

sudo vim /opt/bitnami/apache2/conf/vhosts/ghost-https-vhost.conf

그리고:

<VirtualHost 127.0.0.1:443 _default_:443>
  ServerName {여기를 설정하신 도메인으로 변경해주세요.}
...
  SSLCertificateFile "..."
  SSLCertificateKeyFile "..."
# 이 다음 라인에 입력해주세요.
  RequestHeader set X-Forwarded-Proto "https”
  RequestHeader set X-Forwarded-Port "443"
...
</VirtualHost>
/opt/bitnami/apache2/conf/vhosts/ghost-https-vhost.conf

위와 같이 변경해줍니다.

또한 ghost-vhost.conf도 변경해줍니다.

sudo vim /opt/bitnami/apache2/conf/vhosts/ghost-vhost.conf
<VirtualHost 127.0.0.1:80 _default_:80>
  ServerName {여기를 설정하신 도메인으로 변경해주세요.}
...
</VirtualHost>

bitnami-ssl 설정

sudo vim /opt/bitnami/apache2/conf/bitnami/bitnami-ssl.conf

다음: ProxyPreserveHost On 를 입력합니다.

<VirtualHost _default_:443>
	ProxyPreserveHost On
    ... 나머지 코드
</VirtualHost>
/opt/bitnami/apache2/conf/bitnami/bitnami-ssl.conf

이제 거의 다 됐습니다 ! 🎉

다음 명령어를 입력합니다.

sudo /opt/bitnami/ctlscript.sh restart ghost
sudo /opt/bitnami/ctlscript.sh restart apache

접속 시 127.0.0.1:2368로 리다이렉트 되시나요?

캐싱 문제

브라우저가 독자님의 url 리다이렉트를 캐싱 하고 있을 수도 있습니다. 시크릿 브라우저로 접속해보세요 !

오타 확인

설정 중 오타가 있는지 확인해보세요. 웬만하면 해당 아티클의 텍스트를 복사 붙여넣기를 통해 오타를 줄여보세요.


마치며

축하드립니다 ! 🎉 이제 기본적인 ghost 세팅은 모두 마쳤습니다 ! 이제 google search 등록, google analytics 등록만 하시면 됩니다 !

다음 글

구글에 내 블로그 알리기: lightsail에 google search console(dns) 연결하기
서론 Lightsail로 새로운 사이트를 만드셨나요? 이제 구글에 여러분의 사이트를 등록해야 할 차례입니다. 전 세계 사람들에게 여러분의 사이트를 공유할 수 있도록 도와드리겠습니다. Lightsail로 만드셨다면 제 포스팅이 도움이 될 거예요. 😉 과정 Google search console 도메인을 입력하세요. Google Search ConsoleSearchConsoleNoOgbBoq 위 링크에서 속성 유형 선택창을 확인해주세요. TXT 레코드를 복사합니다. TXT(권장)으로 설정하고