리눅스 Apache 웹서버 게이트웨이 설정

1. 리눅스에서 Apache Gateway 설정하기

1.1. Apache 설치

1
2
sudo apt update
sudo apt install apache2

1.2. proxy module 활성화

1
2
sudo a2enmod proxy
sudo a2enmod proxy_http

리버스 프록시 설정을 진행합니다. a2enmod는 리버스 프록시 설정을 활성화 시켜주는 명령어입니다.

1.3. Apache 설정 파일

1
sudo vi /etc/apache2/sites-available/000-default.conf
1
2
3
4
5
6
7
8
9
10
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

ProxyPass / {실제 WAS Domain}
ProxyPassReverse / {실제 WAS Domain}

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

1.4. Apache 재기동

아파치 재기동을 해주지 않으면 시스템 설정이 처리되지 않습니다. 반드시 진행해주셔야합니다.

1
2
3
sudo apache2ctl configtest
sudo systemctl restart apache2

이렇게 처리되면 웹서버인 Apache에서 클라이언트의 요청을 WAS 리버스 프록시를 통해 전달하게 됩니다.

2. Apache 웹 서버의 가상 호스트(Virtual Host) 및 SSL 설정

2.1. httpd-vhosts.conf

1
2
3
4
5
6
7
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "/var/www/example"
ServerName {test.com}
ErrorLog "/var/log/httpd/example-error.log"
CustomLog "/var/log/httpd/example-access.log" common
</VirtualHost>

해당 설정을 통해 ServerName : test.com 도메인에 대해서 HTTP 80 포트 요청 처리를 하는 가상호스트를 정의할 수 있습니다.

2.2. httpd-ssl.conf

1
2
3
4
5
6
7
8
9
10
11
<VirtualHost _default_:443>
ServerAdmin admin@example.com
DocumentRoot "/var/www/secure"
ServerName secure.example.com
SSLEngine on. ---- SSL 인증서와 개인키 파일을 지정해서 처리합니다.
SSLCertificateFile "/path/to/your_domain_name.crt"
SSLCertificateKeyFile "/path/to/your_private.key"
SSLCertificateChainFile "/path/to/DigiCertCA.crt"
ErrorLog "/var/log/httpd/secure-error.log"
CustomLog "/var/log/httpd/secure-access.log" common
</VirtualHost>

이 파일은 Apache 웹 서버에서 SSL/TLS 암호화 통신을 설정하는 데 사용되고, 주로 HTTPS를 지원하는 웹사이트를 설정하기 위해 사용됩니다. SSL을 사용하여 데이터 전송을 암호화하고 보안을 강화할 수 있습니다. 그리고 SSL 설정을 할 수 있는데, crt, key 파일 설정을 통해 SSL을 적용할 수 있습니다.

3. 게이트웨이 설정과의 차이점

httpd-vhosts.conf와 httpd-ssl.conf 파일은 Apache 서버가 호스팅하는 각 웹사이트 또는 도메인에 대한 설정을 정의하며, 각각의 사이트에 대해 HTTP 또는 HTTPS 요청을 처리합니다.

반면에, 게이트웨이 설정(리버스 프록시 설정 포함)은 Apache가 클라이언트의 요청을 다른 서버(백엔드 서버)로 전달하는 역할을 합니다. 이 경우, Apache 서버는 요청을 직접 처리하는 대신 다른 서버에 전달하여 응답을 받아 클라이언트에게 전달합니다.

따라서, httpd-vhosts.conf와 httpd-ssl.conf는 주로 웹사이트 호스팅과 관련된 설정이며, 게이트웨이 설정은 Apache가 중개자 역할을 할 때 사용됩니다. 두 개념은 다른 목적으로 사용되며, 각각의 파일은 해당 목적에 맞는 설정을 포함합니다.

추가적으로, 보통 SSL 인증서를 발급받는 기관은 한국전자인증, 글로벌 사인 등을 예로 들수 있습니다.