본문 바로가기
Server & Network/Linux

[Apache] 설정 검사(configtest) 및 활성화(a2enmod) - rewrite, ssl, proxy

by AustinProd 2022. 6. 26.

아파치 설정 검사

설정 파일의 문법을 검사한다. 실행 시 발생할 수 있는 문법적 에러를 테스트할 수 있게 도와주는 명령어다. 설정 파일(.conf)을 변경하고, 적용하기 전 단계에서 유효성을 미리 검증받을 수 있다.

 

# 아파치 설정 검사
apachectl configtest

# 에러 발생 포인트가 없다면 OK 반환
> Syntax OK

 

아파치 설정 활성화

아파치 설정 파일에는 여러 옵션을 넣을 수 있다.

 

  • 특정 Host, IP, URL에 따른 리다이렉트 옵션을 지정하는 rewrite
  • HTTPS 프로토콜을 위한 인증서 옵션을 지정하는 ssl
  • 다른 내부 네트워크와 연동을 위한 proxy

 

중요한 점은 Ubuntu 기준, apache를 처음 설치했을 때, 위 옵션이 자동으로 활성화(enabled)되지 않는다는 사실이다. apache 설정을 주입하는 000-default.conf 파일에 필요한 옵션을 입력했다면 아래 명령어로 해당 옵션을 활성화시켜주는 작업이 필요하다.

 

# 접근 IP, HOST, URL 유형에 따른 리다이렉트 설정
sudo a2enmod rewrite

# HTTPS 설정
sudo a2enmod ssl

# 내부 네트워크에 프록시 설정
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer

 

아파치 설정 적용

아래 코드들은 rewrite, ssl, proxy 에 대한 예시 코드들이다. Ubuntu 기준, 000-default.conf 파일에서 작업을 했으니 참고 바란다.

 

 

Rewrite 옵션

<VirtualHost *:80>
    ...
    
    # 리다이렉트 옵션
    RewriteEngine On
    RewriteCond %{REMOTE_ADDR} !192.168.0.123 # 요청 IP가 입력한 값과 동일한 경우
    RewriteRule .* http://google.com # 구글로 리다이렉트
</VirtualHost>

 

SSL 옵션

<VirtualHost *:443>
    # 인증서 도메인
    ServerName "인증서가 지원하는 도메인"
    
    # 옵션 적용 유무
    SSLEngine on
    
   	# SSL 프로토콜
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 (서버 환경에 따라서 선택적 적용)
    
    # 인증서 관련 파일
    SSLCertificateKeyFile /인증서파일경로/개인키
    SSLCertificateFile /인증서파일경로/서버인증서
    SSLCACertificateFile /인증서파일경로/루트,체인 통합 파일
</VirtualHost>

 

Proxy 옵션

<VirtualHost *:80>
    ...

    ProxyRequests Off
    ProxyPass /assets !
    ProxyPass /api http://172.26.0.1:18080/api
    ProxyPass / http://127.0.0.1:28080/
    ProxyPassReverse / http://127.0.0.1:28080/

</VirtualHost *:80>

댓글