로컬 또는 내부 특정 웹서버 로그인 기능 추가하기.
예제는 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