Spring控制器不响应https [英] Spring controllers aren't response to https

查看:261
本文介绍了Spring控制器不响应https的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用 mvn spring-boot运行maven spring boot应用程序:运行

我用application.properties声明https配置如下:

  server.port = 8443 
server.ssl.key-store = keystore.jks
server.ssl。 key-store-password = 123456
server.ssl.key-password = 123456

spring 在右侧端口上启动并跟随输出:

  2018-04- 10 10:49:42.074 INFO 6794 --- [main] ru.ias.Main:在IAS-WS-UX02上使用PID 6794(/ home / opshenichnikova / NetBeansProjects / bot-integrity / target / classes由opshenichnikova启动) / home / opshenichnikova / NetBeansProjects / bot-integrity)
2018-04-10 10:49:42.077 INFO 6794 --- [main] ru.ias.Main:没有活动的配置文件集,回退到默认配置文件:默认
2018-04-10 10:49:42.147 INFO 6794 --- [main] ConfigServletWe bServerApplicationContext:刷新org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@41d792be:启动日期[Tue Apr 10 10:49:42 MSK 2018];上下文层次结构的根源
2018-04-10 10:49:42.834 INFO 6794 --- [main] faAutowiredAnnotationBeanPostProcessor:JSR-330'javax.inject.Inject'注释找到并支持自动装配
2018 -04-10 10:49:43.044 INFO 6794 --- [main] org.eclipse.jetty.util.log:记录初始化@ 3904ms到org.eclipse.jetty.util.log.Slf4jLog
2018-04 -10 10:49:43.110 INFO 6794 --- [main] osbwejJettyServletWebServerFactory:服务器初始化端口:8445
2018-04-10 10:49:43.120 INFO 6794 --- [main] org.eclipse。 jetty.server.Server:jetty-9.4.8.v20171121,build timestamp:2017-11-22T00:27:37 + 03:00,git hash:82b8fb23f757335bb3329d540ce37a2a2615f0a8
2018-04-10 10:49:43.318 INFO 6794 --- [main] org.eclipse.jetty.server.session:DefaultSessionIdManager workerName = node0
2018-04-10 10:49:43.318 INFO 6794 --- [main] org.eclipse.jetty.server .session:没有SessionScavenger设置,使用默认值
2018-04-10 10:49:43.339 INFO 6794 --- [main] org.eclipse.jetty.server.session:每隔660000ms清算
2018-04-10 10 :49:43.355 INFO 6794 --- [main] oejshContextHandler.application:初始化Spring嵌入式WebApplicationContext
2018-04-10 10:49:43.356 INFO 6794 --- [main] osweb.context.ContextLoader: Root WebApplicationContext:初始化在1211 ms完成
2018-04-10 10:49:43.475 INFO 6794 --- [main] osbwservlet.ServletRegistrationBean:Servlet dispatcherServlet映射到[/]
2018-04- 10 10:49:43.477 INFO 6794 --- [main] osbwservlet.FilterRegistrationBean:映射过滤器:'characterEncodingFilter'为:[/ *]
2018-04-10 10:49:43.477 INFO 6794 --- [main] osbwservlet.FilterRegistrationBean:映射过滤器:'hiddenHttpMethodFilter'到:[/ *]
2018-04-10 10:49:43.477 INFO 6794 --- [main] osbwservlet.FilterRegistrationBean:映射过滤器:'httpPutFormContentFilter'为:[/ *]
2018-04-10 10:49:43.478 INFO 6794 --- [main] osbwservlet.FilterRegistrationBean:映射过滤器: 'requestContextFilter'to:[/ *]
2018-04-10 10:49:43.480 INFO 6794 --- [main] oejetty.server.handler.ContextHandler:已启动osbwejJettyEmbeddedWebAppContext @ 3f0831d8 {/,[file :///tmp/jetty-docbase.8895474277820779181.8445/],AVAILABLE}
2018-04-10 10:49:43.481 INFO 6794 --- [main] org.eclipse.jetty.server.Server:已启动@ 4342ms
2018-04-10 10:49:43.720 INFO 6794 --- [main] swsmmaRequestMappingHandlerAdapter:寻找@ControllerAdvice:org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@41d792be:启动日期[ 4月10日星期二10:49:42 MSK 2018];上下文层次结构的根源
2018-04-10 10:49:43.788 INFO 6794 --- [main] swsmmaRequestMappingHandlerMapping:将{[/ admin / account / list],methods = [GET]}映射到公共的java.util.List< ru.ias.orm.Account> ru.ias.controllers.admin.AdminController.getAccounts()
2018-04-10 10:49:43.790 INFO 6794 --- [main] swsmmaRequestMappingHandlerMapping:映射{[/ admin / invoices],methods = [GET]}on public java.util.List< ru.ias.orm.Invoice> ru.ias.controllers.admin.InvoiceController.getInvoices(javax.servlet.http.HttpServletResponse)
2018-04-10 10:49:43.794 INFO 6794 --- [main] swsmmaRequestMappingHandlerMapping:Mapped{[/错误],生成= [text / html]}到公共org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax .servlet.http.HttpServletResponse)
2018-04-10 10:49:43.794 INFO 6794 --- [main] swsmmaRequestMappingHandlerMapping:将{[/ error]}映射到公共org.springframework.http.ResponseEntity< ; java.util.Map< java.lang.String,java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-04-10 10:49:43.829 INFO 6794 --- [main] oswshandler .SimpleUrlHandlerMapping:映射的URL路径[/ webjars / **]到类型[class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]的处理程序上
2018-04-10 10:49:43.830 INFO 6794 --- [main] oswshandler.SimpleUrlHandlerMapping:映射的URL路径[/ **]到类型[class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]的处理程序上
2018-04-10 10:49:43.871 INFO 6794 --- [main] oswshandler.SimpleUrlHandlerMapping:映射的URL路径[/**/favicon.ico]到[class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]类型的处理程序上
2018-04-10 10:49:44.049 INFO 6794 --- [main] osjeaAnnotationMBeanExporter:在启​​动时为JMX曝光注册bean
2018-04-10 10:49:44.066 INFO 6794 --- [main] oejshContextHandler.application:初始化Spring FrameworkServlet'dispatcherServlet'
2018-04-10 10:49:44.066 INFO 6794 --- [main] osweb.servlet.DispatcherServlet:FrameworkServlet'dispatcherServlet ':初始化开始
2018-04-10 10:49:44.076 INFO 6794 --- [main] osweb.servlet.DispatcherServlet:FrameworkServlet'dispatcherServlet':初始化在10 ms内完成
2018-04 -10 10:49:44.432 INFO 6794 --- [main] oejetty.util.ssl.SslContextFactory:x509 = X509 @ 22dbd246(jetty,h = [tbot-test.ias.su],w = [])for SslContextFactory @ 2cfff4aa [provider = null,keyStore = file:///home/opshenichnikova/NetBeansProjects/bot-integrity/keystore.jks,trustStore=null]
2018-04-10 10:49:44.507 INFO 6794 - - [main] oejetty.server.AbstractConnector:已启动ServerConnector @ 139688ed {S​​SL,[ssl,http / 1.1]} {0.0.0.0:8445}
2018-04-10 10:49:44.509 INFO 6794 --- [main] osbweb.embedded.jetty.JettyWebServer:Jetty在端口8445(ssl,http / 1.1)上启动,上下文路径为'/'
2018-04-10 10:49:44.512 INFO 6794 - - [main] ru.ias.Main:在2.726秒内开始运行(JVM运行5.372)


^ C2018-04-10 10:52:08.108 INFO 6794 --- [Thread-11] ConfigServletWebServerApplicationContext:关闭org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@41d792be:启动日期[Tue Apr 10 10:49:42 MSK 2018];上下文层次结构的根源
2018-04-10 10:52:08.109 INFO 6794 --- [Thread-11] osjeaAnnotationMBeanExporter:在关闭时取消注册JMX暴露的bean
2018-04-10 10:52 :08.116 INFO 6794 --- [Thread-11] oejetty.server.AbstractConnector:已停止ServerConnector @ 139688ed {S​​SL,[ssl,http / 1.1]} {0.0.0.0:8445}
2018-04-10 10:52:08.119 INFO 6794 --- [Thread-11] org.eclipse.jetty.server.session:停止清理
2018-04-10 10:52:08.121 INFO 6794 --- [Thread-11 ] oejshContextHandler.application:销毁Spring FrameworkServlet'dispatcherServlet'
2018-04-10 10:52:08.122 INFO 6794 --- [Thread-11] oejetty.server.handler.ContextHandler:已停止osbwejJettyEmbeddedWebAppContext @ 3f0831d8 {/,[file:/ / / / / / / / / / / / / / / / / / / / / / / /我尝试访问控制器中声明的 / admin / account / list 路径:

  package ru.ias.controllers.admin; 

import java.util.ArrayList;
import java.util.List;
import org.hibernate.Session;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import ru.ias.orm.Account;
import ru.ias.config.HibernateUtil;

/ **
*
* @author opshenichnikova
* /
@RestController
公共类AdminController
{
@GetMapping(/ admin / account / list)
@CrossOrigin(originins =*)
public List< Account> getAccounts()
{
会话会话= HibernateUtil
.getInstance()
.getSessionFactory()
.openSession();

session.beginTransaction();
帐户帐户=新帐户();

account.setFirstName(Olga);
account.setLastName(Pshenichnikova);

session.save(account);
session.getTransaction()。commit();

列表<帐户> accounts = new ArrayList<>();
accounts.add(account);

返还账户;
}
}

Main类声明如下:

  package ru.ias; 

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class Main extends SpringBootServletInitializer
{
@Override
protected SpringApplicationBuilder configure(
SpringApplicationBuilder application
){
返回application.sources(Main.class);
}

public static void main(String [] args)
{
SpringApplication.run(Main.class,args);
}
}

不幸的是我收到了以下回复:



解决方案

您正在访问页面通过http,而不是https。将浏览器中的URL更改为 https:// localhost:8443 / admin / account / list


I run maven spring boot application with mvn spring-boot:run.
I declared https configuration with application.properties as follow:

server.port = 8443
server.ssl.key-store = keystore.jks
server.ssl.key-store-password = 123456
server.ssl.key-password = 123456

The spring started on right port with follow output:

2018-04-10 10:49:42.074  INFO 6794 --- [           main] ru.ias.Main                              : Starting Main on IAS-WS-UX02 with PID 6794 (/home/opshenichnikova/NetBeansProjects/bot-integrity/target/classes started by opshenichnikova in /home/opshenichnikova/NetBeansProjects/bot-integrity)
2018-04-10 10:49:42.077  INFO 6794 --- [           main] ru.ias.Main                              : No active profile set, falling back to default profiles: default
2018-04-10 10:49:42.147  INFO 6794 --- [           main] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@41d792be: startup date [Tue Apr 10 10:49:42 MSK 2018]; root of context hierarchy
2018-04-10 10:49:42.834  INFO 6794 --- [           main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2018-04-10 10:49:43.044  INFO 6794 --- [           main] org.eclipse.jetty.util.log               : Logging initialized @3904ms to org.eclipse.jetty.util.log.Slf4jLog
2018-04-10 10:49:43.110  INFO 6794 --- [           main] o.s.b.w.e.j.JettyServletWebServerFactory : Server initialized with port: 8445
2018-04-10 10:49:43.120  INFO 6794 --- [           main] org.eclipse.jetty.server.Server          : jetty-9.4.8.v20171121, build timestamp: 2017-11-22T00:27:37+03:00, git hash: 82b8fb23f757335bb3329d540ce37a2a2615f0a8
2018-04-10 10:49:43.318  INFO 6794 --- [           main] org.eclipse.jetty.server.session         : DefaultSessionIdManager workerName=node0
2018-04-10 10:49:43.318  INFO 6794 --- [           main] org.eclipse.jetty.server.session         : No SessionScavenger set, using defaults
2018-04-10 10:49:43.339  INFO 6794 --- [           main] org.eclipse.jetty.server.session         : Scavenging every 660000ms
2018-04-10 10:49:43.355  INFO 6794 --- [           main] o.e.j.s.h.ContextHandler.application     : Initializing Spring embedded WebApplicationContext
2018-04-10 10:49:43.356  INFO 6794 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 1211 ms
2018-04-10 10:49:43.475  INFO 6794 --- [           main] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2018-04-10 10:49:43.477  INFO 6794 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'characterEncodingFilter' to: [/*]
2018-04-10 10:49:43.477  INFO 6794 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'hiddenHttpMethodFilter' to: [/*]
2018-04-10 10:49:43.477  INFO 6794 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'httpPutFormContentFilter' to: [/*]
2018-04-10 10:49:43.478  INFO 6794 --- [           main] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: 'requestContextFilter' to: [/*]
2018-04-10 10:49:43.480  INFO 6794 --- [           main] o.e.jetty.server.handler.ContextHandler  : Started o.s.b.w.e.j.JettyEmbeddedWebAppContext@3f0831d8{/,[file:///tmp/jetty-docbase.8895474277820779181.8445/],AVAILABLE}
2018-04-10 10:49:43.481  INFO 6794 --- [           main] org.eclipse.jetty.server.Server          : Started @4342ms
2018-04-10 10:49:43.720  INFO 6794 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@41d792be: startup date [Tue Apr 10 10:49:42 MSK 2018]; root of context hierarchy
2018-04-10 10:49:43.788  INFO 6794 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/admin/account/list],methods=[GET]}" onto public java.util.List<ru.ias.orm.Account> ru.ias.controllers.admin.AdminController.getAccounts()
2018-04-10 10:49:43.790  INFO 6794 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/admin/invoices],methods=[GET]}" onto public java.util.List<ru.ias.orm.Invoice> ru.ias.controllers.admin.InvoiceController.getInvoices(javax.servlet.http.HttpServletResponse)
2018-04-10 10:49:43.794  INFO 6794 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2018-04-10 10:49:43.794  INFO 6794 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2018-04-10 10:49:43.829  INFO 6794 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-04-10 10:49:43.830  INFO 6794 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-04-10 10:49:43.871  INFO 6794 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2018-04-10 10:49:44.049  INFO 6794 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2018-04-10 10:49:44.066  INFO 6794 --- [           main] o.e.j.s.h.ContextHandler.application     : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-04-10 10:49:44.066  INFO 6794 --- [           main] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2018-04-10 10:49:44.076  INFO 6794 --- [           main] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 10 ms
2018-04-10 10:49:44.432  INFO 6794 --- [           main] o.e.jetty.util.ssl.SslContextFactory     : x509=X509@22dbd246(jetty,h=[tbot-test.ias.su],w=[]) for SslContextFactory@2cfff4aa[provider=null,keyStore=file:///home/opshenichnikova/NetBeansProjects/bot-integrity/keystore.jks,trustStore=null]
2018-04-10 10:49:44.507  INFO 6794 --- [           main] o.e.jetty.server.AbstractConnector       : Started ServerConnector@139688ed{SSL,[ssl, http/1.1]}{0.0.0.0:8445}
2018-04-10 10:49:44.509  INFO 6794 --- [           main] o.s.b.web.embedded.jetty.JettyWebServer  : Jetty started on port(s) 8445 (ssl, http/1.1) with context path '/'
2018-04-10 10:49:44.512  INFO 6794 --- [           main] ru.ias.Main                              : Started Main in 2.726 seconds (JVM running for 5.372)


^C2018-04-10 10:52:08.108  INFO 6794 --- [      Thread-11] ConfigServletWebServerApplicationContext : Closing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@41d792be: startup date [Tue Apr 10 10:49:42 MSK 2018]; root of context hierarchy
2018-04-10 10:52:08.109  INFO 6794 --- [      Thread-11] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
2018-04-10 10:52:08.116  INFO 6794 --- [      Thread-11] o.e.jetty.server.AbstractConnector       : Stopped ServerConnector@139688ed{SSL,[ssl, http/1.1]}{0.0.0.0:8445}
2018-04-10 10:52:08.119  INFO 6794 --- [      Thread-11] org.eclipse.jetty.server.session         : Stopped scavenging
2018-04-10 10:52:08.121  INFO 6794 --- [      Thread-11] o.e.j.s.h.ContextHandler.application     : Destroying Spring FrameworkServlet 'dispatcherServlet'
2018-04-10 10:52:08.122  INFO 6794 --- [      Thread-11] o.e.jetty.server.handler.ContextHandler  : Stopped o.s.b.w.e.j.JettyEmbeddedWebAppContext@3f0831d8{/,[file:///tmp/jetty-docbase.8895474277820779181.8445/],UNAVAILABLE}

I try to access /admin/account/list path declared in controller:

package ru.ias.controllers.admin;

import java.util.ArrayList;
import java.util.List;
import org.hibernate.Session;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import ru.ias.orm.Account;
import ru.ias.config.HibernateUtil;

/**
 *
 * @author opshenichnikova
 */
@RestController
public class AdminController 
{
    @GetMapping("/admin/account/list")
    @CrossOrigin(origins = "*")
    public List<Account> getAccounts() 
    {
        Session session = HibernateUtil
            .getInstance()
            .getSessionFactory()
            .openSession();

        session.beginTransaction();
        Account account = new Account();

        account.setFirstName("Olga");
        account.setLastName("Pshenichnikova");

        session.save(account);
        session.getTransaction().commit();

        List<Account> accounts = new ArrayList<>();
        accounts.add(account);

        return accounts;
    }
}

The Main class declared as follow:

package ru.ias;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class Main extends SpringBootServletInitializer 
{
    @Override
    protected SpringApplicationBuilder configure(
        SpringApplicationBuilder application
    ) {
        return application.sources(Main.class);
    }   

    public static void main(String[] args) 
    {
        SpringApplication.run(Main.class, args);
    }
}

Unfortunately I get follow response:

解决方案

You are accessing the page via http, not https. Change the URL in your browser to https://localhost:8443/admin/account/list

这篇关于Spring控制器不响应https的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆