LinuxのGlassfish 3.1.2.2 Build 5でhttpリスナーを設定したいと思います。 http-listener-1の設定をポート80に、http-listener-2の設定をポート443に変更しました。これは、デフォルトのポート8080と8181の代わりにこれらのポートでリッスンすることです。したがって、domain.xmlは次のようになります。
<network-listeners>
<network-listener port="80" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
<network-listener port="443" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener>
<network-listener port="4848" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener>
</network-listeners>
コンソール、管理コンソールで試して、ファイルを手動で編集しました。その結果、Glassfish を起動できず、Ubuntu 12 と Red Hat 6.4 で次のエラーが発生します。
java.net.BindException: permission denied: 443=com.sun.enterprise.v3.services.impl.monitor.MonitorableSSLSelectorHandler@239190ce
at com.sun.grizzly.TCPSelectorHandler.initSelector(TCPSelectorHandler.java:432)
at com.sun.grizzly.TCPSelectorHandler.preSelect(TCPSelectorHandler.java:378)
at com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:188)
at com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:132)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
|#]
[#|2013-08-21T12:02:21.761+0200|INFO|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=32;_ThreadName=Grizzly-kernel-thread(1);|Grizzly Framework 1.9.50 started in: 18ms - bound to [0.0.0.0:7676]|#]
[#|2013-08-21T12:02:21.762+0200|INFO|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.services.impl|_ThreadID=30;_ThreadName=Grizzly-kernel-thread(1);|Grizzly Framework 1.9.50 started in: 33ms - bound to [0.0.0.0:3700]|#]
[#|2013-08-21T12:02:21.957+0200|INFO|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.admin.adapter|_ThreadID=1;_ThreadName=main;|The Admin Console is already installed, but not yet loaded.|#]
[#|2013-08-21T12:02:22.105+0200|INFO|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=1;_ThreadName=main;|GlassFish Server Open Source Edition 3.1.2.2 (5) Startzeit: Felix (3.772ms), Startservices(1.766ms), gesamt(5.538ms)|#]
[#|2013-08-21T12:02:22.106+0200|SEVERE|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=1;_ThreadName=main;|v3 wird aufgrund einer Startausnahme heruntergefahren: Keine Berechtigung: 80=com.sun.enterprise.v3.services.impl.monitor.MonitorableSelectorHandler@6254067e|#]
[#|2013-08-21T12:02:22.199+0200|INFO|glassfish3.1.2|javax.enterprise.system.tools.admin.com.sun.enterprise.v3.admin|_ThreadID=38;_ThreadName=Thread-21;|Herunterfahren des Servers initiiert|#]
[#|2013-08-21T12:02:22.209+0200|INFO|glassfish3.1.2|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=38;_ThreadName=Thread-21;|Already stopped, so just returning|#]
Exception: java.lang.NullPointerException thrown from the UncaughtExceptionHandler in thread "Grizzly-kernel-thread(1)"
Command start-domain was not successful.
だから私はこの人と同じエラーがあります。 https://www.java.net//node/693510
iptablesやポートリダイレクトを使わずにこれを達成する方法はありますか?