큰 웹사이트를 만들고 관리를 하다보면, 라이브 사이트에 올라가기 전, Staging 혹은 Test 서버라고 부르는 서버를 하나 더 만들게 됩니다. 정말 테스트를 말 그대로 해보는 거죠. 당연히 live 와 비슷한 데이터를 사용해야야겠죠, 하지만 동일한 db 를 사용하는건 아니죠. 라이브에 영향을 주지 않는 선에서 테스트를 해야 하니까요.
rails 에서는 이러한 설정을 아주 간단하게 할 수 있어요
config/environments/production.rb 파일을 열어주고 코드를 몇줄만 추가할게요
Rails.application.configure do
config.middleware.use Rack::Auth::Basic do |username, password|
username == 'kyurasi' && password == 'junmannn'
end
end
이렇게 하면 내 테스트 서버에 접근하는 순간 이러한 입장 제한을 할 수 있죠. 정말 쉽습니다ㅎㅎ
만일 js 로 하실 수도 있으니 이번에는 Express 를 사용한 간단한 인증 미들웨어 예시 코드를 남겨놓을게요. 잘 활용하시길 바랍니다
const express = require('express');
const basicAuth = require('express-basic-auth');
const app = express();
// 인증 미들웨어 설정
app.use(basicAuth({
users: { 'kyurasi': 'junmannn' }, // 인증 정보 설정
unauthorizedResponse: () => 'Unauthorized' // 인증 실패 시 응답 설정
}));
// 미들웨어를 통한 보호된 엔드포인트
app.get('/protected', (req, res) => {
res.send('Protected resource');
});
// 서버 실행
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
아참, 만일 Webhook 을 사용하고 게시다면, 저렇게만 두면 오류가 발생할거에요. 그렇다면 Webhook 을 사용하는 서비스의 endpoint 에 아이디 비번이 포함이 되도록 수정해주시면 됩니다
만일 본인의 원래 endpoint 가 이랬었다면
https://staging.test_server.com/webhook_staging
이런 식으로 수정해주세요
https://ID에해당하는문자열:비밀번호에해당하는문자열@test_server.com/webhook_staging
제가 예시로 든 코드를 다시 endpoint 수정으로 예를 들게요.
사이트에 비밀번호를 걸기 전 endpoint 주소
https://staging.test_server.com/webhook_staging
사이트에 비밀번호를 걸고 난 후 endpoint 주소
ID : kyurasi,
PW : junmannn 이라고 한다면
https://kyurasi:junmannn@staging.test_server.com/webhook_staging
'Font-End' 카테고리의 다른 글
소셜 공유 버튼 구현, 공유하기 버튼 (0) | 2024.12.05 |
---|---|
리뷰 별점주기 구현하기, Star rating ui html (0) | 2024.11.27 |
모바일에서의 input 번호 입력 ui 바꾸기 (0) | 2024.01.22 |
Firebase 커스텀 도메인 추가하기 (2) | 2023.11.30 |
[프론트엔드] 유용한 무료 데이터 시각화 플러그인 (0) | 2023.08.18 |