목차
- 리눅스 APNS 서버 아이피 검사 및 hosts 도메인 변경 스크립트 예제 - 2(telnet으로 APNS 서버 아이피 통신 테스트) 이전 포스팅 링크 및 설명
- 리눅스 우분투 keytool 사용하여 jks 키스토어 파일 생성 예제 이전 포스팅 링크 및 설명
- 리눅스 우분투 tomcat 7 포트 80 설정 예제 이전 포스팅 링크 및 설명
- 리눅스 우분투 /etc/hosts의 APNS 서버 도메인 아이피 주소 telnet 통신 실패시 다른 아이피로 변경 예제
- 리눅스 우분투 APNS 서버 통신 실패시 아이피 변경되는 것 확인 예제
리눅스 APNS 서버 아이피 검사 및 hosts 도메인 변경 스크립트 예제 - 2(telnet으로 APNS 서버 아이피 통신 테스트) 이전 포스팅 링크 및 설명
이전 포스팅에서는 /etc/hosts 파일 내 APNS(애플 푸시 알림 서비스) 서버 도메인의 IP를 검사하고 서버와 통신 가능 여부를 화면에 출력하는 예제를 알아보았습니다. telnet을 이용하여 APNS 서버 IP와의 통신을 테스트하는 방법을 다루고 있습니다. 스크립트를 사용하여 특정 IP와 통신할 때 실패 및 성공 여부를 확인하고, 호스트 파일을 업데이트하여 통신 설정을 변경하는 방법을 알아보았습니다. 만약 리눅스에서 쉘스크립트로 APNS 서버와 통신 가능 여부를 자동화하는 방법이 궁금하시다면 아래 링크를 참고해주세요.
[Linux/Ubuntu] 리눅스 APNS 서버 아이피 검사 및 hosts 도메인 변경 스크립트 예제 - 2(telnet으로 APNS 서
목차 리눅스 APNS 서버 아이피 검사 및 hosts 도메인 변경 스크립트 예제 - 1(/etc/hosts 아이피 가져오기) 예제 이전 포스팅 링크 및 설명 리눅스 우분투 chown 명령으로 파일 소유자 변경 예제 이전 포
salguworld.tistory.com
리눅스 우분투 keytool 사용하여 jks 키스토어 파일 생성 예제 이전 포스팅 링크 및 설명
이전 포스팅은 리눅스 우분투 환경에서 keytool을 사용하여 JKS(KeyStore) 키스토어 파일을 생성하는 방법을 다루고 있습니다. Java KeyStore를 만들어서 공개키 및 인증서를 저장하는 방법에 대한 예제를 설명하고 있습니다. HTTPS 연결 및 보안 설정에 활용될 수 있는 키스토어 파일을 생성하는 과정을 다루고 있습니다. 만약 안드로이드 스튜디오에서 사용할 jks 파일 혹은 다른 목적으로 해당 파일이 필요하시다면 아래 링크를 참고해주세요.
2021.12.03 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어 생성하기(keytool jks)
Linux 톰캣 HTTPS 적용 - 키스토어 생성하기(keytool jks)
Linux 톰캣 관련 포스팅 목록 2020.07.13 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 설치(Ubuntu, Tomcat, Install) 2020.07.15 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 80 포트 변경(ubuntu, tomcat, port) 리눅스 톰캣 HTTPS 서버
salguworld.tistory.com
리눅스 우분투 tomcat 7 포트 80 설정 예제 이전 포스팅 링크 및 설명
마지막으로 이전 포스팅에서는 리눅스 우분투 환경에서 Tomcat 7을 설치하고 포트 80을 설정하는 방법에 대한 예제를 알아보았습니다. 이전 포스팅에서 Tomcat 7을 설치하는 과정 중 포트 80 설정에 대한 설명이 포함되어 있습니다. 웹 애플리케이션을 특정 포트로 배포 및 구성하는 방법을 다루고 있습니다. 일반적으로 리눅스 시스템에서 80포트는 관리자 권한으로만 바인드 할 수 있는 특수 포트입니다. 이 포트를 사용하는 방법이 궁금하시다면 아래 링크를 참고해주세요.
2020.07.15 - [Linux/Tomcat] - 리눅스 우분투 tomcat 7 80 포트 변경(ubuntu, tomcat, port)
리눅스 우분투 tomcat 7 80 포트 변경(ubuntu, tomcat, port)
Tomcat 관련 포스팅 목록 2021.12.03 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어 생성하기(keytool jks) 2021.12.04 - [Linux/Tomcat] - Linux 톰캣 HTTPS 적용 - 키스토어로 P12 파일 생성하기(keytool p12) 2021.12.05 - [Lin
salguworld.tistory.com
리눅스 우분투 /etc/hosts의 APNS 서버 도메인 아이피 주소 telnet 통신 실패시 다른 아이피로 변경 예제
아래는 /etc/hosts 파일에 설정된 APNS 서버 도메인의 IP 주소와의 통신 실패 시, 다른 IP로 변경하는 방법을 다루고 있습니다. 쉘 스크립트를 작성하여 특정 IP와의 통신이 실패할 경우 다른 IP 주소로 변경합니다. APNS 서버는 일반적으로 17.188.180.0, 17.188.182.0, 17.188.183.0 대역의 아이피를 사용합니다. 따라서 이 대역의 아이피를 모두 검사하여 통신 성공한 아이피로 /etc/hosts의 APNS 서버 도메인을 수정합니다.
#!/bin/bash
TARGET_HOST="17.188.180.75"
PORT=443
SUBNET="17.188."
DOMAIN="api.push.apple.com"
function get_ip_from_hosts() {
local domain=$1
local ip_address=$(awk -v d="$domain" '$2 == d { print $1; exit }' /etc/hosts)
echo "$ip_address"
}
HOSTS_FILE="/etc/hosts"
function check_and_update_hosts() {
local ip=$1
if grep -q "$DOMAIN" "$HOSTS_FILE"; then
sed -i "s/^.*$DOMAIN/$ip $DOMAIN/g" "$HOSTS_FILE"
else
echo "$ip $DOMAIN" >> "$HOSTS_FILE"
fi
}
TARGET_HOST=$(get_ip_from_hosts "$DOMAIN")
while true; do
ck=0
TARGET_HOST=$(get_ip_from_hosts "$DOMAIN")
telnet_result=$(timeout 2 telnet "$TARGET_HOST" "$PORT" 2>&1)
if ! echo "$telnet_result" | grep -q "Connected"; then
echo "Failed to connect to $TARGET_HOST:$PORT. Trying other IPs in the subnet..."
for subnet in 180 182 183; do
for ip_suffix in $(seq 0 255); do
ip="$SUBNET$subnet.$ip_suffix"
echo $ip
telnet_result=$(timeout 2 telnet "$ip" "$PORT" 2>&1)
if ! echo "$telnet_result" | grep -q "Connected"; then
continue
else
echo "Successfully connected to $ip:$PORT. Updating $DOMAIN in hosts file."
check_and_update_hosts "$ip"
TARGET_HOST=$ip
ch=1
break
fi
done
if [ "$ch" -eq 1 ]; then
break
fi
done
else
echo "Connection to $TARGET_HOST:$PORT successful."
fi
sleep 2
done
리눅스 우분투 APNS 서버 통신 실패시 아이피 변경되는 것 확인 예제
아래는 리눅스 우분투 환경에서 APNS 서버와 통신이 실패할 경우 IP가 변경되는 것을 확인하는 방법에 대한 예제입니다. 통신 실패 시 다른 IP로의 변경 여부를 확인하고, 이를 통해 네트워크 설정이 정상적으로 이루어지고 있는지 확인하는 방법을 다루고 있습니다. 쉘스크립트를 실행하고 중간에 /etc/hosts의 APNS 서버 아이피 주소를 변경합니다.
$ sudo bash apns_checker_gs.sh
$ sudo vim /etc/hosts
...
...
10.10.443.223 api.push.apple.com
...
...