【问题标题】:Run java Spring project in port 8443 ( https ) in localhost在 localhost 的端口 8443 ( https ) 中运行 java Spring 项目
【发布时间】:2018-02-20 14:58:51
【问题描述】:

我一直在尝试在本地主机中以 HTTPS 模式运行我的 java spring 项目。

该项目在 HTTP 中完美运行,但形成了一些功能,我需要它在 HTTPS 中运行

我已在 tomcatserver.xml 中将默认端口更改为 8443。当我运行 spring 项目时,它的 URL 显示 https://localhost:8443 而不是 localhost:8080 但页面没有加载。它说找不到页面。

请帮我解决这个问题。

【问题讨论】:

  • 再次查看您的server.xml。您是否将默认端口设置为 8433 而不是 8443?
  • 我确定我将端口设置为 8443
  • 我问的 eason 是您说您“将默认端口更改为 8443”,但“URL 显示 localhost:8433”。那是两个不同的端口;这是您的问题中的错字,还是您的配置中的真正问题?
  • 哦....那是错误.. rul 也指向端口 8443 但是当我加载 javaproject 时,它显示页面未找到

标签: java spring spring-mvc https localhost


【解决方案1】:

您需要设置一个侦听端口 8443 的 Connector 和一个 SSL 证书(下例中的 keystore 文件,设置您认为合适的位置):

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
               keystoreFile="${user.home}/keystore" keystorePass="tomcat" keyAlias="tomcat"/>

您可以购买 SSL 证书或自行在本地签名(尽管您会遇到浏览器异常,要求手动确认接受它)。要执行后者,您可以使用 Java 的 keytool

【讨论】:

  • 是的,我已打开该连接器。加载 spring 项目后,它在 HTTPS 中运行,但出现错误提示页面未找到
  • 你能通过 HTTP 访问同一个页面吗?
  • 了解什么是失败(Tomact 或您的 Spring webapp)的一种非常快速的方法是通过 HTTPS 访问 Tomcat 的管理器 GUI:localhost:8443/manager。这行得通吗?
  • 如果您可以通过 HTTP 而不是 HTTPS 访问管理器,则意味着您的 Tomcat,特别是 HTTPS &lt;Connector&gt;,没有正确配置。那是一个与你的 Spring webapp 无关的内部 Tomcat 页面。
  • 我既不能访问 Tomcat GUI localhost:8443/manager 也不能访问 localhost:8080/manager 。它显示页面未找到
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-23
  • 2021-05-02
  • 1970-01-01
  • 2012-04-19
  • 2016-12-27
  • 2013-07-01
相关资源
最近更新 更多