tomcat ¼ºñ½º 80 Æ÷Æ®·Î ¼ºñ½ºÇϱâ
http://ehostidc.co.kr/center/EH050402.php?no=279318&page=5&choose=tit¡¦ (370)https://blog.naver.com/goethe1/221624722718 (428)
tomcat 서비스 80 포트/196; 서비스Ȣ16;기
- tomcat 1032; default 서비스 포트lj16; 8080 1064;데, 개0156; 0143; 서비스1032; 원1064;1004;/196; 80 포트/196; 서비스 설1221; Ȣ16;lj16; 0169;법
1. 기1316; server.xml 파1068; 수1221;
# before
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
# after
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
2. tomcat service 1116;시1089;시 오류 0156;생
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"]
java.net.BindException: Permission denied (Bind failed) <null>:80
3. 원1064;
- Linux 환ᅆ1;에서 1024 번 1060;Ȣ16;1032; 서비스포트에 대해 non-root 계1221;에서 open Ȣ16;1648; 못Ȣ16;도/197; 구성.120;.
4. 해결책
a. setcap 설1221;
- tomcat 1060; 아닌 java 에 설1221;, java 1208;대 ᅆ1;/196; 설1221;
# setcap "cap_net_bind_service=+ep" /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre/bin/java
b. 라1060;버러리 오류 (1032;1316;성 라1060;브러리 오류)
/usr/lib/jvm/jre/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
c. 1032;1316;성 라1060;브러리 ᅆ1;/196; 설1221;
# find / -name libjli.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre/lib/amd64/jli/libjli.so# vi /etc/ld.so.conf.d/java.conf160;
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre/lib/amd64/jli# ldconfig
d. tomcat start 후 서비스 확1064; 1652;행
# iptables »ç¿ë
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
service iptables save
service iptables reload
# firewall »ç¿ë
# firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
# firewall-cmd --reload