지식 공유 2025.10.31 12:32

폐쇄망에서 웹서버(Apache) 구성하기

김선호
조회수 8494
## Docker OS 컨테이너 준비 1. 이미지를 받는다. [rocky linux 8.10] docker pull rockylinux/rockylinux:8.10 2. 편하게 작업 할 컨테이너를 하나 띄우고 쉘로 접근한다. docker run -it --name rocky-localrepo rockylinux/rockylinux:8.10 /bin/bash ## 어떤 패키지를 오프라인에서 설치하게 만들지 정한다. 우리가 미리 받아오는 RPM 목록이 곧 그쪽이 쓸 수 있는 설치 가능 목록이 된다. 예시로 httpd, mod\_ssl, php, openssl, vim, 이런 식으로 결정한다고 하자. 참고로 Rocky Linux에서 의존성까지 같이 받아오려면 dnf download를 쓴다. 1. 필요한 유틸 설치 dnf install -y dnf-plugins-core createrepo tar * dnf-plugins-core 안에 dnf download 들어있다. * createrepo는 로컬 리포지토리 메타데이터 만드는 툴. * tar는 마지막에 묶어서 전달 2. RPM들을 모아 둘 디렉토리 생성 mkdir -p /repo/base cd /repo/base 3. 의존성 가져오기 dnf download --resolve httpd * --resolve를 붙이면 httpd가 필요로 하는 의존 라이브러리까지 전부 rpm 파일로 같이 떨어진다. 원하는 다른 패키지도 계속 추가로 긁어올 수 있다. * dnf download --resolve mod\_ssl * dnf download --resolve php * dnf download --resolve openssl * dnf download --resolve vim-enhanced ## 핵심 요약 1. Windows에서: * docker run -it rockylinux:8.10 * 컨테이너 안에서 dnf install -y dnf-plugins-core createrepo tar * /repo/base 폴더 만들고 dnf download --resolve <원하는패키지들> * createrepo /repo/base * /repo/local-httpd.repo 만들어두기 * tar czvf /repo\_bundle.tgz /repo * docker cp로 호스트로 꺼냄 2. 폐쇄망 Rocky 서버에서: * /opt/localrepo 에 압축 풀기 * /etc/yum.repos.d/ 에 .repo 복사 * dnf install <패키지> 테스트 # 리버스 프록시 설정 ### httpd.conf LoadModule proxy\_module modules/mod\_proxy.so LoadModule proxy\_http\_module modules/mod\_proxy\_http.so LoadModule ssl\_module modules/mod\_ssl.so ServerName otp.pola.or.kr ``` SSLEngine on SSLCertificateFile /path/to/otp.pola.or.kr.crt SSLCertificateKeyFile /path/to/otp.pola.or.kr.key SSLCertificateChainFile /path/to/chain.pem # ↑ DMZ 웹서버가 직접 HTTPS를 종료(terminate)해야 하니까 인증서는 DMZ에 있어야 해 # 클라이언트가 /sln/... 으로 들어온 요청을 내부망 sso.pola.or.kr로 프록시 ProxyPreserveHost On ProxyPass /sln/ https://sso.pola.or.kr/sln/ ProxyPassReverse /sln/ https://sso.pola.or.kr/sln/ # (선택) 특정 URI만 보낼 수도 있음. 예: /sln/pola/user/regist/step 만 # ProxyPass /sln/pola/user/regist/step https://sso.pola.or.kr/sln/pola/user/regist/step # ProxyPassReverse /sln/pola/user/regist/step https://sso.pola.or.kr/sln/pola/user/regist/step # 보안 헤더 같은 것도 보통 여기서 달아줌 RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Forwarded-For %{REMOTE_ADDR}s RequestHeader set X-Forwarded-Host %{HOST}s ```

댓글 0

아직 댓글이 없습니다.
첫 번째 댓글을 남겨보세요!

댓글을 작성하려면 로그인이 필요합니다.

로그인하기