Resolve Reverse proxy errors in adding Facebook authentication

Published Aug 11, 2022 | Updated Sep 17, 2022 | 0 comments

페이스북 로그인 기능을 추가 구현하는 과정에서 삽질한 과정과 해결 방법입니다.

일단 사이트 구성을 간략하게 보여드리면 다음과 같습니다.

페이스북 인증을 구현하기 위해서는 반드시 https 만 가능 하다는 건 알고 있는 상황이었고, 운영 중인 상황에서 Server 와 Client 도메인도 https 로 운영하는 중이라서 별 신경을 쓰지 않았습니다.

그래서 로컬 디버깅 환경에서 테스트를 한 뒤 배포를 하였고, 배포 후 확인해보니 페이스북으로 인증 요청을 하는 과정에서 http 로 요청한다는 오류가 나와서 왜(?) 라는 상황이 되었습니다.

그래서 어디서 문제가 발생했는지 확인하기 위해 소스 코드도 살펴보고 페이스북 등록된 정보도 확인했지만 원인을 알 수가 없었습니다.

그러다 운영 환경에 대한 확인을 하게 되었고 Docker 에서 asp.net 인증서 관련 문제로 부득이하게 http 로 운영 중이라는 사실이 다시 떠올랐습니다.

그래서 docker 상에서는 http 로 운영을 하고 NGINX 의 REVERSE PROXY 로 외부에서 https 도메인으로 접속해서 운영하는 상태였습니다.

그래서 해결책을 찾던 중 MSDN 의 다음 링크에서 해답을 찾을 수 있었습니다.

서버 구동 시 다음처럼 요청 스키마를 https 로 강제하는 방법입니다.

    app.Use((context, next) =>
    {
        context.Request.Scheme = "https";
        return next(context);
    });

Docker 환경을 포기할 수 없고, 유료 인증서도 부담되는 상황이라 부득이하게 http 로 운영하느라 생긴 해프닝이었네요.

현재까지는 무탈하게 잘 운영 중입니다. 더 좋은 해결 방법을 찾게 되면 차후에 다시 업데이트 할 예정입니다.

이상 삽질기 였습니다.

Learn more on this topic

Related Blog Posts

Join in the conversation

Leave a Comment

0 Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

무료 온라인 전광판

전광판

텍스트를 입력하고 텍스트 효과 및 배경효과 를 변경해서 전체화면으로 표시할 수 있는 전광판 용도로 사용하실 수 있습니다. 각종 스포츠 및 공연 관람시 응원 용도로 사용이 가능합니다.

Carousel

여러개의 슬라이드를 추가하여 프레젠테이션 및 이미지 슬라이드 용도로 사용하실 수 있습니다. 브라우저가 포함된 IT 기기로 큰 모니터에 연결하여 매장 내 공지사항 및 메뉴소개를 이미지로 표시할 수 있습니다.

Pin It on Pinterest

Shares
Share This

Share This

Share this post with your friends!

Shares