WEB(WAS 서버에 전달할 것을 작성)
vi /etc/httpd/conf/httpd.conf
- ProxyPassMatch 부분에 WAS 사설 IP 넣어주기
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost *:80>
ProxyRequests On
ProxyPreserveHost On
<Proxy *>
Order Deny,allow
Allow from all
SetEnv force-proxy-request-1.0.1
SetEnv proxy-nokeepalive 1
SetEnv proxy-initial-not-pooled 1
</Proxy>
ProxyPassMatch "^/.*\.(jsp|do)$" "http://10.100.3.16:8080"
Timeout 120
</VirtualHost>
ProxyPassMatch
- ProxyPassMatch는 웹 서버에서 요청된 특정 URL 패턴에 대해 지정된 WAS 서버로 프록시하는 역할
- Apache HTTP Server는 웹 서버에서 .jsp 또는. do 확장자를 가진 요청을 받을 때 해당 요청을 WAS 서버로 프록시하여 처리함
⇒ 따라서, WEB 서버에서 WAS 서버로 프록시 해야 하기 때문에 WAS 서버 주소를 넣어야 함
변경사항 적용
- systemctl restart httpd 했을 때 에러 코드가 뜬다면 다시 수정하고 재시작하면 됨
[root@web-a ~]# systemctl restart httpd
# 여기서 아무것도 안떠야함
WAS
/tomcat/webapps/ROOT/ 에 .jsp 파일 생성
[root@was-a ~]# cd /root/tomcat/webapps/ROOT/
[root@was-a ROOT]# ls
asf-logo-wide.svg bg-nav.png index.jsp tomcat.css
bg-button.png bg-upper.png RELEASE-NOTES.txt tomcat.svg
bg-middle.png favicon.ico test.jsp WEB-INF
현재 시간을 보여주는 내용 추가
[root@was-a ROOT]# vi test.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<html>
<head><title>hello world</title></head>
<body>
tomcat test
now_time : <%= new java.util.Date()%>
</body>
</html>
WAS Server에서 확인 → curl localhost:8080/test.jsp
- 현재 시간을 보여주는 내용을 추가했을 때 잘 동작하는지 확인
[root@was-a ROOT]# curl localhost:8080/test.jsp
<html>
<head><title>hello world</title></head>
<body>
tomcat test
now_time : Sat Jan 20 11:41:45 UTC 2024
</body>
</html>
WAS 보안 그룹 인바운드 규칙 추가
- WEB 서버에서 들어오는 요청을 처리해야 하므로, WAS서버에서 WEB 서버 Private IP로 접속하는 8080을 뚫어줘야 함
- WEB 서버에서 .jsp 확장자를 가진 URL로 접속하면 WAS서버로 프록시
WEB↔ WAS 연동 확인
WEB Server에서 확인 → curl localhost/test.jsp
- 여기서 curl이 안간다면 WAS 보안그룹에 WEB 사설 IP : 8080 인바운드 허용을 제대로 해줬는지 확인하기
[root@web-a ~]# curl localhost/test.jsp
<html>
<head><title>hello world</title></head>
<body>
tomcat test
now_time : Sun Jan 21 03:16:47 UTC 2024
</body>
</html>
'Project > 3-Tier Architecture' 카테고리의 다른 글
[3-Tier] WEB↔ WAS ↔ DB 연동 확인 (MySQL Connector Java) (2) | 2024.02.23 |
---|---|
[3-Tier] DB 서브넷 그룹, RDS 생성(MySQL) (0) | 2024.02.22 |
[3-Tier] Amazon Linux2에 Apache Tomcat 설치 (WAS 서버 구성2) (0) | 2024.02.22 |
[3-Tier] AWS WAS EC2 생성 후 Bastion Host에서 SSH 접속하기 (WAS 서버 구성1) (0) | 2024.02.22 |
[3-Tier] Amazon Linux2에 Apache HTTP 설치 (WEB 서버 구성2) (0) | 2024.02.22 |