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




댓글 없음:

댓글 쓰기