Linux 에서 java.net.SocketException 권한 이 부족 합 니 다(회전)

Linux 에서 java.net.SocketException 권한 이 부족 합 니 다.
오늘 리 눅 스에 서 Jetty 로 애플 리 케 이 션 을 시작 하면 권한 이 이상 하지 않 습 니 다.사실 이 유 는 간단 합 니 다.하지만 잠시 소홀 하면 습관 적 으로 구 글 이 될 수 있 습 니 다.저 는 구 글 을 만 들 었 지만 인터넷 에서 이 문제 에 관 한 내용 이 매우 적 다 는 것 을 알 게 되 었 습 니 다.그래서 저 는 같은 문제 에 부 딪 힌 친구 들 에 게 도움 이 되 었 으 면 좋 겠 다 고 특별히 기록 해 두 었 습 니 다.
이상 내용 은 다음 과 같 습 니 다.
HSFJettyWebAppContext replace servlet context get file /tmp/hsf_jetty_placeholder/WEB-INF/common/webx-component-and-root.xml
Web Context     【/tmp/hsf_jetty_placeholder/WEB-INF/common/webx-component.xml】
2012-09-13 20:37:17.930:INFO:/:WebxComponents: initialization completed
2012-09-13 20:37:17.975:INFO:/:Initializing filter: mdc
2012-09-13 20:37:17.976:INFO:/:SetLoggingContextFilter – mdc: initialization completed
2012-09-13 20:37:17.976:INFO:/:Initializing filter: webx
2012-09-13 20:37:17.980:INFO:/:WebxFrameworkFilter – webx: initialization completed2012-09-13 20:37:18.077:WARN::failed SelectChannelConnector@0.0.0.0:80: java.net.SocketException:     
2012-09-13 20:37:18.078:INFO::Started Ajp13SocketConnector@0.0.0.0:8009
2012-09-13 20:37:18.079:INFO::AJP13 is not a secure protocol. Please protect port 80092012-09-13 20:37:18.079:WARN::failed Server@4950b45a: java.net.SocketException:     
java.net.SocketException:         at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
at org.mortbay.jetty.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:315)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.Server.doStart(Server.java:235)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at runjettyrun.Bootstrap.main(Bootstrap.java:259)

[해결 방법 추천]이 유 는 Liux 에서 1024 이하 의 포트 를 사용 하면 루트 권한 이 필요 하기 때 문 입 니 다.그래서 제 가 현재 사용 하 는 것 은 루트 권한 이 아니 기 때문에 권한 이 부족 해서 80 포트 를 사용 할 수 없 기 때문에 권한 이 이상 하지 않 습 니 다.Jetty 의 HTTP 포트 를 80 포트 가 아 닌 1024 포트 로 바 꾸 면 됩 니 다.예 를 들 어 8080 이면 됩 니 다.pom.xml 에서 포트 번 호 를 수정 합 니 다.[기타 솔 루 션]80 포트 로 애플 리 케 이 션 에 접근 하려 면 방법 이 있 습 니까?답 은 긍정 적 입 니 다.iptables 명령 으로 해결 할 수 있 습 니 다.우 리 는 다음 명령 설정 을 통 해 80 포트 를 8080 포트 로 전송 할 수 있 습 니 다.그러면 eclipse 의 Jetty 플러그 인 은 8080 포트 에 연결 할 수 있 습 니 다./etc/hosts 는 로 컬 을 일상적인 도 메 인 이름 으로 연결 해도 80 포트 를 통 해 자동 으로 전송 할 수 있 습 니 다.그러면 편리 합 니 다.
tables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-ports 8080 iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 –dport 80 -j REDIRECT –to-ports 8080
필요 하지 않 을 때 삭제 할 수 있 습 니 다:
iptables -t nat -F PREROUTING iptables -t nat -F OUTPUT
위 설정 은 임시 입 니 다.다시 시작 하면 이 설정 이 효력 을 잃 습 니 다.다시 시작 한 후에 도 설정 이 유효 하 다 면 참고 하 십시오.

좋은 웹페이지 즐겨찾기