본문 바로가기

구글 파이어베이스 "파이어베이스 웹호스팅"

by Recstasy 2019. 10. 2.

파이어베이스 웹 호스팅은 말 그대로 자신의 프로젝트를 웹에 공개할 수 있는 서비스다. 개별적인 도메인을 따로 연결할 수도 있고, 구글에서 호스팅 주소를 제공해주기 때문에 아주 쉽게 테스트페이지를 오픈할 수 있다. node.js를 설치하고, local서버로 테스트하는 파일(express프레임워크 설치)을 그대로 파이어호스팅으로 옮기기 위해서는 몇 가지 설정이 필요하다. 해당 자료는 https://forest71.tistory.com/169  "SW개발이 좋은 사람"블로그 내용을 참고했다.

 

1 firebase init

파이어베이스 sdk가 설치되었다는 전제하에, cmd or terminal의 작업폴더로 이동해서 firebase init명령어를 실행한다. 아래와 같은 문구가 출력될 것이다.


- 진행 준비 ? yes

- firebase 서비스 선택 ? firehosting 선택

- public 폴더 선택? public 타이핑

- public폴더의 index.html 뒤집어씌우기? no

- 단일페이지 생성? no



몇가지 질문에 선택을 마치고나면 firebase init준비가 끝난다.


2 deploy실행

public폴더 지정이 끝나고, public폴더에는 지금까지 만든 index.html(껍데기 파일) 및 자바스크립트 파일이 있다. 


     <public 폴더>                              <scripts 폴더>


firebase deploy를 실행하면, 파이어베이스에서 제공하는 url이 생성되면서 public폴더의 파일들이 업로딩된다. 하지만 실무에서는 지금까지 실행한 방식처럼, express프레임워크 사용하지 않는 경우가 거의 없을 듯하다.


node.js같은 경우, 대체로 express프레임워크를 사용하기 때문에 public폴더에 iindex.html과 관련 자바스크립트 파일을 옮기는 방식으로 끝나는 프로젝트는 거의 없지 않을까한다. 향후 node.js + paypal결제모듈이 필요하다면, 파이어베이스와 express프레임워크를 결합하는 프로젝트를 진행하기로 하고, express프레임워크 + 파이어베이스는 "https://forest71.tistory.com/169"을 참고하자.


3 도메인 연결

도메인을 연결하기 전에 도메인을 구입하자. 현재 '가xx'란 사이트에서 도메인을 구입했고, DNS 레코드 설정을 해줘야 한다.

파이어베이스 호스팅 탭에서 도메인 연결을 클릭한다. 그리고 구입한 도메인('vovospunch.com')을 넣어주고, 계속을 클릭한다.


파이어베이스에서는 'A'레코드 형태로 아래와 같은 2개의 값을 제공해준다. 해당 값을 복사한 뒤에 도메인 사이트의 DNS 설정으로 간다.


아래와 같이 A레코드와 값을 추가한 후, 확인을 클릭한다. 


파이어베이스의 호스팅에서 'www'가 붙은 도메인도 신청한다.


4 보안

파이어베이스 보안과 관련해서 부족한 영어실력을 더듬거리며 많은 검색을 했더니, 다음과 같은 문구가 있다. 

위의 내용은 웹상에 공개될 수밖에 없는 자바스크립트의 한계와 관련된 부분이다. cdn방식의 파이어베이스는 어차피 config의 내용이 공개될 수밖에 없는데, 위와 같이 설정해주면 해커들이 apikey를 통해 다른 프로젝트를 활용하지 못하게 막는 조치다. 물론, 파이어베이스의 Database와 Storage규칙을 통해 보안을 확실하게 설정할 수 있고, apikey는 원래 공개되며 동시에 키를 알더라도 괜찮다는 내용들이 곳곳에 눈에 띈다.


하지만 최대한의 조치를 행하는 편이 좋다는 생각에 시키는대로 진행해보자.


파이어베이스의 프로젝트 설정에 보면 CGP(Google Cloud Platform)로 이동하는 통로가 있다. 이를 통해 GCP로 이동하자.


GCP에서 사실상 파이어베이스 관련 API정보도 모두 관리되고 있는데, 'Api & 서비스' => '사용자 인증정보'에 가서 아래와 같은 조치를 취한다.


1] HTTP 리퍼러 선택

2] api-key가 사용된 웹 사이트 등록

3] 저장


위의 조치가 끝나면, 해당 api-key는 사용자가 지정한 사이트에서만 사용된다. 

댓글

최신글 전체

이미지
제목
글쓴이
등록일