基于SSL的HTTP基本身份验证
因此,我有一个secure.domain.com的SSL证书。我在这个域上运行了一些管理web应用程序(git repo等),使用.htaccess basic auth进行了身份验证 当我通过https与域通信时,它要求我进行身份验证,它是否验证了证书,还是在我进行身份验证后进行了验证基于SSL的HTTP基本身份验证,http,.htaccess,ssl,https,basic-authentication,Http,.htaccess,Ssl,Https,Basic Authentication,因此,我有一个secure.domain.com的SSL证书。我在这个域上运行了一些管理web应用程序(git repo等),使用.htaccess basic auth进行了身份验证 当我通过https与域通信时,它要求我进行身份验证,它是否验证了证书,还是在我进行身份验证后进行了验证 类似地,如果我通过http连接,是否有一种简单的方法将请求转发到https,然后进行身份验证?https使用的SSL或TLS会话将在发送任何http通信之前构建。这包括认证验证。一旦建立了会话,HTTP流量就会
类似地,如果我通过http连接,是否有一种简单的方法将请求转发到https,然后进行身份验证?https使用的SSL或TLS会话将在发送任何http通信之前构建。这包括认证验证。一旦建立了会话,HTTP流量就会通过它,从GET/POST/which开始,然后服务器会正常响应,并使用触发登录框的
WWW-Authenticate
头
至于从HTTP重定向到HTTPS,这取决于您使用的服务器。由于它被标记为.htaccess
,因此我将假设Apache,为此,.htaccess
文件中的类似内容应该可以:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
HTTPS使用的SSL或TLS会话在发送任何HTTP通信之前生成。这包括认证验证。一旦建立了会话,HTTP流量就会通过它,从GET/POST/which开始,然后服务器会正常响应,并使用触发登录框的
WWW-Authenticate
头
至于从HTTP重定向到HTTPS,这取决于您使用的服务器。由于它被标记为.htaccess
,因此我将假设Apache,为此,.htaccess
文件中的类似内容应该可以:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
当我通过https与域通信时,它要求我进行身份验证,它是否验证了证书,还是在我进行身份验证后进行了验证
SSL是HTTP协议的一个独立层,基本身份验证是HTTP协议的一部分。SSL握手首先发生在发送任何协议信息之前。根据进行握手的端点以及它们如何验证彼此的证书,它可能根本不进行任何验证。但如果真的发生了这种情况(可能所有广泛使用的浏览器都会发生),那么这种情况就会发生在握手过程中,在发送任何身份验证数据之前
类似地,如果我通过http连接,是否有一种简单的方法将请求转发到https,然后进行身份验证
有几种方法可以做到这一点。StackOverflow上有很多问题询问如何做到这一点,搜索“强制https”。这可能取决于您可以访问哪些配置文件。如果您有权访问vhost配置,则在vhost中为非SSL配置添加重定向
指令,并重定向到https。否则,您需要在.htaccess文件中执行此操作。与此类似的内容(在非SSL站点中):
当我通过https与域通信时,它要求我进行身份验证,它是否验证了证书,还是在我进行身份验证后进行了验证
SSL是HTTP协议的一个独立层,基本身份验证是HTTP协议的一部分。SSL握手首先发生在发送任何协议信息之前。根据进行握手的端点以及它们如何验证彼此的证书,它可能根本不进行任何验证。但如果真的发生了这种情况(可能所有广泛使用的浏览器都会发生),那么这种情况就会发生在握手过程中,在发送任何身份验证数据之前
类似地,如果我通过http连接,是否有一种简单的方法将请求转发到https,然后进行身份验证
有几种方法可以做到这一点。StackOverflow上有很多问题询问如何做到这一点,搜索“强制https”。这可能取决于您可以访问哪些配置文件。如果您有权访问vhost配置,则在vhost中为非SSL配置添加重定向
指令,并重定向到https。否则,您需要在.htaccess文件中执行此操作。与此类似的内容(在非SSL站点中):
我可以将其嵌入到文件指令中吗?我只想转发特定页面。谢谢你的回答:)我不太熟悉htaccess中的重写规则(我主要在linux下使用Cherokee,或者在windows下使用IIS),但我不明白为什么不。请记住,您必须小心使用HTTPS页面中包含敏感信息的任何cookie。类似这样的事情:我可以将其嵌入到文件指令中吗?我只想转发特定页面。谢谢你的回答:)我不太熟悉htaccess中的重写规则(我主要在linux下使用Cherokee,或者在windows下使用IIS),但我不明白为什么不。请记住,您必须小心使用HTTPS页面中包含敏感信息的任何cookie。大概是这样的: