HTTPS 和 RETEasy
RESTEasy 配置(使用 2.*)或 jax-rs 中是否有一种方法不允许 http 访问任何基于 REST 的 Web 服务?我只想为 https 下的 Web 服务端点提供服务。
Is there a way within the RESTEasy configuration (using 2.*) or jax-rs to not allow http access to any REST based web services? I want to only serve the web service end points under https.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 tomcat 中,它是按端口完成的。似乎需要 3 个步骤来进行设置。
1) 创建密钥库文件。我使用 java 生成此命令如下
将 presto.bin 文件复制到 tomcat 的 webapps 目录
2) 为 tomcat 设置 server.xml
3) 配置 Web 服务以使用安全连接。将以下内容添加到 web.xml
我从 http://tomcat 中提取此内容。 apache.org/tomcat-6.0-doc/ssl-howto.html
In tomcat its done in on a per port basis. There looks to be 3 steps to setting this up.
1) Creating the KeyStore file. I used java to gen this command is as follows
Copy the presto.bin file into the webapps dir of tomcat
2) Setting up server.xml for tomcat
3) Configuring the web service to use the secured connection. Add the following to web.xml
I pulled this from http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
我是这样做的:
这是纯粹的 RESTEasy 解决方案,您可以在处理请求之前将此代码放置在任何位置。
我使用了 tapestry-resteasy 集成,并使用 挂毯服务顾问。
Here's how I did this:
This is pure-RESTEasy solution and you can place this code anywhere before handling request.
I used tapestry-resteasy integration and implemented this using tapestry service advisors.
我认为这个配置不应该在 RESTEasy 端,而应该在 servlet 容器或 Web 服务器上。
例如,如果您运行 Tomcat,请在 server.xml 中从 8080 端口删除连接器,并为 8443 端口定义一个连接器。所以Tomcat将不再接受http流量。
I believe that this configuration should not be at RESTEasy side, but rather at servlet container or web server.
For example if you run Tomcat, in server.xml remove connector from 8080 port and define one for 8443 port. So Tomcat won't accept the http traffic anymore.