# HTTP

所有基于HTTP的通信都应该受到保护[using TLS](../../features/exploits/http.html#http)。

下面你可以找到有关 Servlet 特定特性的详细信息，这些特性有助于HTTPS的使用。

## 重定向到HTTPS

如果客户机使用HTTP而不是HTTPS发出请求，则可以将安全性配置为重定向到HTTPS。

例如，以下 Java 配置将把任何HTTP请求重定向到HTTPS:

例1.重定向到HTTPS

Java

```
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends
		WebSecurityConfigurerAdapter {

	@Override
	protected void configure(HttpSecurity http) {
		http
			// ...
			.requiresChannel(channel -> channel
				.anyRequest().requiresSecure()
			);
	}
}
```

Kotlin

```
@Configuration
@EnableWebSecurity
class SecurityConfig : WebSecurityConfigurerAdapter() {

    override fun configure(http: HttpSecurity) {
        http {
            // ...
            requiresChannel {
                secure(AnyRequestMatcher.INSTANCE, "REQUIRES_SECURE_CHANNEL")
            }
        }
    }
}
```

下面的XML配置将把所有HTTP请求重定向到HTTPS

例2.使用XML配置重定向到HTTPS

```
<http>
	<intercept-url pattern="/**" access="ROLE_USER" requires-channel="https"/>
...
</http>
```

## 严格的运输安全

Spring 安全性为[严格的运输安全](headers.html#servlet-headers-hsts)提供支持，并在默认情况下启用它。

## 代理服务器配置

Spring 安全性[与代理服务器集成](../../features/exploits/http.html#http-proxy-server)。

[安全HTTP响应标头](headers.html)[HttpFirewall ](firewall.html)

