- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只是在尝试 Servlet 安全机制。我用过<transport-guarantee>CONFIDENTIAL</transport-guarantee>
在我的 web.xml 中使用“BASIC”身份验证。访问受限资源时,重定向后页面不显示。以下是我的代码片段
tomcat-用户.xml
<role rolename="Admin"/>
<role rolename="Member"/>
<role rolename="Guest"/>
<user username="Annie" password="admin" roles="Admin, Member, Guest"/>
<user username="Diane" password="coder" roles="Member, Guest"/>
<user username="Ted" password="newbie" roles="Guest"/>
网络.xml
<web-app version="3.0">
<display-name>SecurityApp</display-name>
<servlet>
<servlet-name>BeerAppServlet</servlet-name>
<servlet-class>com.examples.servlets.BeerAppServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BeerAppServlet</servlet-name>
<url-pattern>/Beer/AddRecipe</url-pattern>
</servlet-mapping>
<security-role>
<role-name>Admin</role-name>
</security-role>
<security-role>
<role-name>Member</role-name>
</security-role>
<security-role>
<role-name>Guest</role-name>
</security-role>
<security-constraint>
<web-resource-collection>
<web-resource-name>Update</web-resource-name>
<url-pattern>/Beer/AddRecipe/*</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>Admin</role-name>
<role-name>Member</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>
我的Servlet类如下
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter writer = response.getWriter();
writer.println("<h3> Welcome to Beer Application Site</h3>");
}
当我按如下方式访问我的应用程序时
http://localhost:8083/SecurityApp/Beer/AddRecipe
重定向完成,上面提到的 url 更改为
https://localhost:8553/SecurityApp/Beer/AddRecipe
并没有显示任何页面,浏览器显示如下
连接已重置页面加载时与服务器的连接被重置。该站点可能暂时不可用或太忙。请稍后重试。如果您无法加载任何页面,请检查您计算机的网络连接。如果您的计算机或网络受到防火墙或代理的保护,请确保允许 Firefox 访问网络。
我希望该页面显示欢迎访问 Beer 应用程序站点。我正在使用 tomcat apache-tomcat-7.0.47我在 server.xml 中的重定向端口是
<Connector connectionTimeout="20000" port="8083" protocol="HTTP/1.1" redirectPort="8553"/>
谁能告诉我这里出了什么问题,或者我是否遗漏了任何需要完成的配置。
最佳答案
在阅读了 Tomcat 文档后,我开始知道需要在 tomcat 的 server.xml 中启用 SSL
根据启用 SSL 配置的文档,我们首先需要生成 .keystore 文件。
这些是tomcat文档中提供的步骤
要在 Tomcat 上安装和配置 SSL 支持,您需要执行以下简单步骤。
通过执行以下命令创建一个 keystore 文件来存储服务器的私钥和自签名证书:
window :
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
由于我有一个windows系统,下面是我生成.keystore文件的步骤
C:\Program Files\Java\jdk1.7.0_45\bin>keytool -genkey -alias tomcat -keyalg RSA
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: AvinashReddy
What is the name of your organizational unit?
[Unknown]: Organization Name
What is the name of your organization?
[Unknown]: Organization Name
What is the name of your City or Locality?
[Unknown]: Hyderabad
What is the name of your State or Province?
[Unknown]: AndhraPradesh
What is the two-letter country code for this unit?
[Unknown]: AP
Is CN=AvinashReddy, OU=Organization Name, O=Organization Name, L=Hyderabad, ST=AndhraPradesh, C=AP correct?
[no]: yes
Enter key password for <tomcat>
(RETURN if same as keystore password):
根据文档,我使用了密码“changeit”(全部小写),在最后一步中,我刚刚按下“Enter”键,因此它使用了与以下问题“Enter keystore password”时输入的密码相同的密码"在生成 .keytstore 文件时被询问
我已经将tomcat中的server.xml修改如下
<Connector connectionTimeout="20000" port="8083" protocol="HTTP/1.1" redirectPort="8553"/
<Connector port="8553" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="${user.home}/.keystore" keystorePass="changeit" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8553"/>
tomcat 中重定向的默认端口是 8443,因为我的系统上运行了 2 个 tomcat 实例,所以我已将重定向端口从 8443 更改为 8553。
更改后我重新启动了我的 tomcat 并且可以访问受限资源。
我已经输入了
http://localhost:8083/SecurityApp/Beer/AddRecipe
然后这被重定向到
https://localhost:8553/SecurityApp/Beer/AddRecipe
因为我使用了“BASIC”身份验证机制,所以我被提示输入用户名和密码。提供凭据后,我能够看到我的页面如下
“欢迎来到啤酒应用网站”
下面是tomcat提供的配置SSL的链接
http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Configuration
关于tomcat - Servlet Security transport-guarantee "CONFIDENTIAL"重定向后不显示请求的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21162725/
我有一个带有Post模型和 Controller 的Rails应用,并且正在使用ActiveAdmin for CMS。我已经实现了ElasticSearch和SearchKick,现在正尝试使用Se
我在Rails应用中使用了elasticsearch gem。我正在尝试执行基本搜索,并按与当前位置的距离对结果进行排序。但是尝试搜索时出现以下错误: [400] {"error":{"root_ca
在我的 Rails 应用程序中,安装了“elasticsearch-model”和“elasticsearch-rails”gems,elasticsearch (v5.1.1) 在默认端口上运行,模
有时批量发布时会出现暂时失败的项目错误 Transport service unable to transport 多次刷新发布队列将导致返回成功。为什么会发生这种情况? 最佳答案 我认为一旦发布事务
当我尝试使用 elasticsearch 进行索引时收到此消息。我已经尝试过 elasticsearch-rails gem 和 searchkick gem。我们正在在线创建和编辑电子类(class
错误:未找到传输方式,或所选传输方式尚不支持! 当我调用网络服务时会发生此错误。 这是我的代码: include("lib/bankmellat/nusoap.php"); $client = new
在本地环境中工作时不确定 elasticsearch我收到这个奇怪的错误,任何帮助我都会很感激。谢谢 Elasticsearch::Transport::Transport::Errors::NotF
RoundTripper 界面是这样的 type RoundTripper interface { RoundTrip(*Request) (*Response, error) } 内部net
我正在尝试使用以下程序来显示从端口 8888 收到的消息。我编译了以下代码,没有任何错误和警告。 运行后,我用浏览器打开127.0.0.1:8888 然后,控制台显示: read: Transport
使用 socket.io v1.2.1(仅使用“轮询”传输),有时我的客户会遇到断开连接。 大约 50% 的时间我在断开连接事件回调函数中得到 ping timeout,这是合理的。 其他时候,我得到
我使用嵌入式代理 ActiveMq 并从 JavaScript 应用程序连接到它。使用的协议(protocol)是 STOMP over WebSocket。 Spring 的 XML 配置:
看来我已经根据http://dev.apollodata.com/tools/apollo-server/setup.html上的Apollo文档设置了服务器。在我的server/main.js文件中
我已经将Xcode升级到Xcode 7,并在pList中包括了App Transport Security(ATS)功能。目前,我已通过将YES分配给NSAllowsArbitraryLoads来禁用
我是Elasticsearch的新手,试图连接到运行1.5.2版的远程集群。我已将相同版本的Maven依赖项添加到我的项目中。我正在使用以下Scala代码初始化Transport客户端: val se
import matplotlib.pyplot as plt import numpy as np from sklearn import datasets, linear_model # Crea
我正在尝试制作这个简单的服务器脚本,其中多个客户端连接到它并存储在 factory.connected_clients 字典中。然后我想显示一个菜单,以便执行服务器的用户可以选择他想要使用的客户端以及
大家好, 我们正在设计一个电视模块。在当前的架构中,我们有两个独立的设备,每个设备都在 Atom 处理器上运行 Linux。我们需要通过网络将实时传输流从一台设备传输到另一台设备。我尝试寻找在Linu
我正在尝试测试 Android auto backup .我在 7.1 设备上,应用程序 list 包含:android:fullBackupOnly="true" .当我发出 adb shell b
该方法是静态的,但我找不到它是否是线程安全的。我计划同时使用多个线程执行此方法,并且我想尽可能避免使用同步块(synchronized block)。 javax.mail.Transport.sen
我正在尝试将 Meek 集成到 Android 应用程序中。这里有一个示例展示了如何实例化传输: https://github.com/guardianproject/AndroidPluggable
我是一名优秀的程序员,十分优秀!