В настоящее время мы обслуживаем некоторые веб-приложения в домене через порт 80. Этот порт доступен из Интернета.
Теперь должны быть развернуты некоторые EJB, которые предоставляют некоторые из своих методов в качестве веб-сервисов с использованием аннотации @WebMethod,Они не должны быть доступны через (общедоступный) порт 80, но только через порт 8000, доступ к которому возможен только из внутренней сети.
Я установил новый виртуальный сервер с именем «internal», который использует http-listener, который прослушивает порт 8000:
<virtual-server hosts="${com.sun.aas.hostName}" http-listeners="http-listener-3" id="internal" log-file="${com.sun.aas.instanceRoot}/logs/server.log" state="on">
<property name="sso-enabled" value="false"/>
<property name="docroot" value="${com.sun.aas.instanceRoot}/docroot"/>
<property name="accesslog" value="${com.sun.aas.instanceRoot}/logs/access"/>
</virtual-server>
<http-listener acceptor-threads="1" address="0.0.0.0" blocking-enabled="false" default-virtual-server="internal" enabled="true" family="inet" id="http-listener-3" port="8000" security-enabled="false" server-name="" xpowered-by="false">
<property name="proxiedProtocols" value="ws/tcp"/>
</http-listener>
Затем я назначил этот виртуальный сервер корпоративному приложению, в котором размещается служба, установив атрибут virtual-servers .
<application-ref disable-timeout-in-minutes="30" enabled="true" lb-enabled="false" ref="myapp" virtual-servers="internal"/>
Веб-сервисы теперь доступны как для портов 80 и 8000, но необходимо, чтобы они были доступны только для портов 8000 , а не из 80. Есть ли способ добиться этого в GlassFish 2?используя один домен?Или должен использоваться второй домен?