在运维中,“强制 SSL 访问”通常指所有 HTTP 请求自动跳转/拒绝到 HTTPS,以保证通信加密。不同场景做法不同,下面按常见情况给你总结。
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
# 可选:禁止不安全协议
ssl_protocols TLSv1.2 TLSv1.3;
}
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
或通过 .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
server:
ssl:
enabled: true
port: 443
并配合:
@Configuration
public class SecurityConfig {
protected void configure(HttpSecurity http) throws Exception {
http.requiresChannel()
.anyRequest().requiresSecure();
}
}
web.xml 中:
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
X-Forwarded-Proto 要正确传递add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
⚠️ 启用前确保 HTTPS 完全可用,否则会“锁死”访问。
ALTER USER 'user'@'%' REQUIRE SSL;
requirepass yourpass
tls-port 6379
port 0
如果你能告诉我:
我可以给你更精确的配置示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。