首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于SSL的HTTP基本身份验证

基于SSL的HTTP基本身份验证
EN

Stack Overflow用户
提问于 2012-07-20 09:02:15
回答 2查看 2.3K关注 0票数 1

因此,我有一个用于secure.domain.com的SSL证书。我在这个域上运行一些管理web应用程序(git repo等),使用.htaccess basic身份验证。

当我通过https与域通信时,它要求我进行身份验证,它是验证了证书还是在我进行身份验证后进行了验证?

类似地,如果我通过http连接,有没有一种简单的方法可以将请求转发到https,然后进行身份验证?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-20 09:16:09

HTTPS使用的SSL或TLS会话是在发送任何HTTP流量之前构建的。这包括认证验证。一旦建立了会话,HTTP流量就会经过它,从GET/POST/任何东西开始,然后服务器会像往常一样用触发登录框的WWW-Authenticate头进行响应。

至于从HTTP重定向到HTTPS,这取决于您使用的服务器。由于它被标记为.htaccess,因此我将假定Apache,因此,.htaccess文件中的以下内容应该可以做到:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
票数 4
EN

Stack Overflow用户

发布于 2012-07-20 09:16:35

当我通过https与域通信时,它要求我进行身份验证,它验证了证书还是在我通过身份验证后进行了验证?

SSL是一个独立于HTTP协议的层,基本身份验证是HTTP协议的一部分。SSL握手首先发生在发送任何协议信息之前。根据进行握手的端点以及它们如何验证彼此的证书,它可能根本不进行任何验证。但是,如果它确实发生了(可能所有广泛使用的浏览器都是这样),那么它就发生在握手期间,在发送任何身份验证数据之前。

类似地,如果我通过

连接,有没有一种简单的方法可以将请求转发到https,然后进行身份验证?

有几种方法可以做到这一点。在StackOverflow上有很多问题询问如何做到这一点,搜索"force https“。这可能会归结为您有权访问哪些配置文件。如果您可以访问您的vhost配置,则在vhost中为非SSL配置添加Redirect指令,并重定向到https。否则,您将需要在.htaccess文件中执行此操作。类似的内容(在您的非SSL站点中):

代码语言:javascript
复制
Redirect 301 / https://yourdomain.com/
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11571486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档