SSL-尝试https请求会引发未知错误

时间:2018-09-16 11:06:10

标签: java eclipse ssl https angular6

我目前正在使用Tomcat8.5服务器(Eclipse-后端有JPA的Java EE和前端有angular6的Eclipse)开发RESTful应用程序。 我正在尝试对前端发送给后端的请求使用SSL加密,但是我收到以下未知错误:

OPTIONS https://localhost:8443/myproject/services/User/login 0 ()

和服务器,似乎从未收到请求。我已经用Postman测试了完全相同的请求,并且效果很好。
GET请求也发生相同的情况。

我为实现SSL加密所做的步骤是:
1)生成密钥
2)在Tomcat配置的server.xml上注释以下行:

<Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>

3)注释并编辑server.xml的以下部分

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                keystoreFile="/home/mike/.keystore" keyAlias="tomcat" keystorePass="123456"
                clientAuth="false" sslProtocol="TLS"/>

4)将以下行添加到我的应用程序的web.xml中(在WEB-INF中)

<security-constraint>

    <web-resource-collection>
    <web-resource-name>myproject</web-resource-name>
    <url-pattern>/services/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>

</security-constraint>

如果与我的问题有关,我也在chrome上使用CORS插件。

EDIT1:没有SSL加密,所有请求都可以正常工作。 例如,POST http://localhost:8080/myproject/services/User/login可以工作(当然,web.xml中没有<security-constraint>)。
发送请求的简单服务称为:

this.http.post.(https://localhost:8443/myproject/services/User/login, loginForm, headers);

在此处初始化标题:

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json',
  })
};

我没有任何拦截器可以根据请求更改/添加某些内容。

0 个答案:

没有答案