2023.03.10 - [OS/Linux] - [Linux][CentOS7] 방화벽 port 설정하기
사실 앞선 port설정하기를 작성한 이유는
이 글을 위함이다.
최근 tomcat만 설치된 서버에 https 사설 인증서를 추가해야 했는데
그 과정을 기록하고자 한다.
1. tomcat 파일 위치에 폴더 및 jks 파일 생성
보통 톰캣은
/usr/local/tomcat 위치에 있다.
이 위치에 나는 추가로 /ssl/keystore/ 파일을 생성해 주었다.
cd /usr/local/tomcat/ssl/keystore
해당 위치로 cd를 해준 후
keytool -genkey -alias https_test -keyalg RSA -keypass 12341234 -storepass 12341234 -keystore https_test.jks -validity 3650
위의 명령어로 jks파일을 생성해 준다.
-alias : jks 명
-keypass / -storepass : 비밀 번호
-keystore : 생성할 파일명
-validity : SSL인증서의 유지 기간(일 단위)
이후 명령어를 실행시키면
이름과 지역을 물어보는 입력창이 나오고 맞는지 확인하는 입력창이 뜬다.
생성된 jks파일을 확인하는 명령어는
keytool -list -v -keystore https_test.jks
위의 명령어와 앞서 설정한 비밀번호를 입력하면 된다.
이로써 jks파일 생성이 끝났다.
2. tomcat의 server.xml 파일 수정
server.xml 파일의 위치는
/usr/local/tomcat/conf/server.xml 에 있다.
파일을 열어서 쭉 내리다 보면
<!--
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
위와 같은 코드 부분을 찾을 수 있는데 해당 부분의 주석을 해제하고
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/local/tomcat/ssl/keystore/https_test.jks"
keystorePass="12341234" />
keystoreFile에 jks파일의 경로를
keystorePass에 설정한 비밀번호를 입력해 준 후 저장하면 끝난다.
3. 방화벽 설정
우린 앞서 server.xml파일에 8443 포트로 설정을 해주었다.
8443은 https의 포트이며 뒤에 주소 입력시 https://주소:8443 이런 식으로 붙여주어야 하는데
우리는 이를 443 포트로 포워딩 할 것이다.
우선 서비스를 등록해 준다.
* 방화벽 설정을 할 시 root계정으로 하여야 합니다.
우선 http와 https의 서비스를 등록한 후
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
8443 포트를 열어준다.
firewall-cmd --permanent --add-port=8443/tcp
그리고 443 포트를 8443으로 포워딩 시켜준다.
firewall-cmd --add-forward-port=port=443:proto=tcp:toport=8443
firewall-cmd --runtime-to-permanent
이후 방화벽 재시작
firewall-cmd --reload
방화벽 설정이 제대로 되었는지 확인.
firewall-cmd --lsit-all
4. tomcat 재시작
앞서 tomcat의 설정을 변경해 주었기 때문에 tomcat을 재시작 해주어야한다.
또한 재시작 후 8443 포트가 제대로 열려있는지 확인을 해야 한다.
netstat -nap | grep 443
보면 8443 포트가 LISTEN 중이면 제대로 열린 것이다.
5. 확인
사설 인증서이기 때문에
https://주소 로 검색하면 위와 같은 화면이 나올 것이다.
하단의 고급 > 주소(안전하지 않음)(으)로 이동 을 클릭하면
자신이 설정한 홈페이지가 https로 열리는 것을 확인할 수 있다.
혹여나 jks파일을 삭제하고자 한다면
keytool -delete -alias https_test -keystore https_test.jks
설정한 비밀번호를 입력하면 삭제가 완료된다.
파일 자체는 남아있으므로 삭제는 직접 해주어야 한다.
'OS > Linux' 카테고리의 다른 글
프로세스 중단, 재시작, 확인하는 방법 (0) | 2024.09.20 |
---|---|
[CentOS] 7 서비스 종료 이후 yum 명령어 안될 때 (1) | 2024.07.22 |
[Linux][CentOS7] 방화벽 port 설정하기 (0) | 2023.03.10 |
[Linux] tail 명령어 (실시간 로그 보기) (0) | 2022.09.14 |
[Linux] 에러 ^M bad interpreter 에러 해결 방법 (0) | 2022.05.25 |
댓글