当前位置: 首页 > 知识库问答 >
问题:

阿帕奇反向代理背后的Spring安全性 [重复]

公良子轩
2023-03-14

我在Apache代理后面有我的Spring-boot应用程序。我的应用程序正在< code>http上工作,与SSL相关的任务由代理服务器处理。

我正在使用Spring安全的登录页面。以下是我的安全配置:

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
        http.cors();

        http.authorizeRequests()
                .antMatchers("/admin/**").hasAuthority("Admin")
                .anyRequest().permitAll()
                .and()
                .formLogin()
                .defaultSuccessUrl("/admin", true);

    }

因此,作为具有管理员权限登录成功的人,我重定向到/admin。这工作正常,直到我使用apache代理。

在使用代理之前,它运行良好。

( http://myhost/login

使用代理后:

(https://myhost/登录

主要问题是它重定向到网址而不是网址

以下是我的apache代理配置:

ProxyPreserveHost on
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/

我的问题是登录后如何重定向到https

任何帮助都将不胜感激!!!

共有1个答案

公西英叡
2023-03-14

我对Apache代理设置的经验有限,但根据我的理解,您需要启用SSLEngine才能支持SSL协议:

留档:

SSL引擎指令

Description:    SSL Engine Operation Switch
Syntax: SSLEngine on|off|optional
Default:    SSLEngine off
Context:    server config, virtual host
Status: Extension
Module: mod_ssl

该指令切换SSL/TLS协议引擎的使用。这应该在区段内使用,以便为该虚拟主机启用SSL/TLS。默认情况下,主服务器和所有已配置的虚拟主机都禁用SSL/TLS协议引擎。

实例

<VirtualHost _default_:443>
SSLEngine on
#...
</VirtualHost>

在 Apache 2.1 及更高版本中,SSL 引擎可以设置为可选。这将启用对 RFC 2817 的支持,即在 HTTP/1.1 中升级到 TLS。目前没有 Web 浏览器支持 RFC 2817。

https://https . Apache . org/docs/2.4/mod/mod _ SSL . html # page-header

 类似资料:
  • null 这起作用了,当调用https://www.website.com/auth/oauth/authorizeendpoint时,我将在https://www.website.com/auth/login上重定向,并看到我的登录表单。 问题是没有加载jquery或css这样的资源,因为它试图通过URL https://www.website.com/resources/jquery.min.

  • 我在服务器上安装了keycloak standanlone,并尝试通过Nginx在反向代理后面使用它。Keycloak绑定到127.0.0.1

  • 我测试了Apache Flume将文件从本地传输到HDFS。但是,如果源文件来自多个服务器(将文件从不同服务器的本地传输到HDFS),我可以只运行一个Flume实例并将更多代理添加到Flume-conf.property中吗? 如果可以,如何在 flume-conf.properties 中编辑以下参数: 还有,我怎样才能运行水槽? 只能运行一个水槽。两个以上呢?

  • Apache Kafka:分布式消息传递系统 Apache Storm:实时消息处理 我们如何在实时数据管道中使用这两种技术来处理事件数据? 在实时数据管道方面,我觉得两者做的工作是一样的。如何在数据管道上同时使用这两种技术?

  • 我在谷歌上冲浪,没有找到任何具体的答案或例子,所以再次尝试我的运气在这里(经常是幸运的)。 问题所在 > 我在apache反向代理后面运行了一个spring boot RESTful服务。此RESTful服务只运行HTTP。假设它运行在本地IP172.S端口8080上。 我还配置了一个apache反向代理。假设它运行在本地IP172.a和公共IP55.a上。该代理响应两个端口80,但所有HTTP通

  • 我是新来的Spring Security,并试图开发Spring Boot应用程序与谷歌登录使用OAuth2下运行的主机名: 8080。这个程序是背后的Apache反向代理服务器https://url.com. Spring启动版本2.1。0 Spring Security版本5.1.1 build.gradle: 应用yml: Spring Security配置: 我请求https://url.