레이블이 proxy인 게시물을 표시합니다. 모든 게시물 표시
레이블이 proxy인 게시물을 표시합니다. 모든 게시물 표시

2022년 7월 26일 화요일

apache2 웹서버 인증(basic authentication)

로컬 또는 내부 특정 웹서버 로그인 기능 추가하기.

예제는 Basic 인증으로 작성 됨.


# 대략적인 흐름

도메인 접속 > apache basic 인증 > 프록시 > 내부 웹서버 


# 설치
sudo apt install apache2-utils


# 계정추가
htpasswd -c /etc/apache2/.htpasswd test


# VirtualHost 설정, 프록시 패스

<VirtualHost *:80>

        ServerName 도메인

        ServerSignature Off

        RewriteEngine on

        RewriteCond %{HTTPS} !=on

        RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L]

</VirtualHost>

<VirtualHost *:443>

        ServerName 도메인

        ServerSignature Off

        ProxyPreserveHost On

        AllowEncodedSlashes NoDecode

        RequestHeader set X_FORWARDED_PROTO 'https'

        RequestHeader set X-Forwarded-Ssl on

        ProxyPass / http://127.0.0.1:10012/

        ProxyPassReverse / http://127.0.0.1:10012/

        <Proxy *>

                Order deny,allow

                Allow from all

                Authtype Basic

                Authname "Password Required"

                AuthUserFile /etc/apache2/.htpasswd

                Require valid-user

        </Proxy>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>



# 테스트 결과

sudo service apache2 restart