可以通过http制作一些API,也可以通过https制作一些API,例如:
localhost:8080/MyWebServices/api/getSomething
以及另一个使用https的API,例如:
localhost:8443/MyWebServices/api/getB
我的API示例是:
@Path("/getSomething")
@GET
@ManagedAsync
@Produces(MediaType.APPLICATION_JSON)
public void getSomethingA(@Suspended final AsyncResponse response){
....
}
并且在Tomcat中我有连接器端口=“8080”,例如:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="c:\mkyongkeystore"
keystorePass="password" />
我必须配置web.xml吗?或者在哪里?有这些功能
答案 0 :(得分:1)
如果两个连接器设置正确,您应该能够从端口8080以及8443命中您的API。
如果您希望明确保护应用程序的不同部分,可以在应用程序中使用一个或多个安全约束 web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>securedapp</web-resource-name>
<url-pattern>/whatever/</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
这将阻止任何非ssl请求(与url模式匹配)访问webapp。