使用https保护网络订阅

Jez*_*ood 4 apache https icalendar

我发布了网络URL,允许我的网络应用用户订阅各种日历.我的理解是,识别网络URL的应用程序将默认为http,但我希望使用https保护文件传输.以下apache重写规则有效,但这是一个合适的解决方案吗?

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
Run Code Online (Sandbox Code Playgroud)

是的,此域名中的所有内容都应通过https提供.我知道我可以用https代替网络摄像头,但后来我失去了网络URI方案的好处(即简单的订阅).我在网上看到过一些关于网络摄像头的提及,但是信息很少,Apple的iCal也不喜欢它.

我计划对这些日历使用基本身份验证.首先通过http发出请求然后重定向到https是否存在问题?

Bru*_*uno 6

是的,可能存在问题:初始请求将通过HTTP发送,包括标头等.

如果初始请求不包含凭据,则不一定会出现问题,然后仅在第二个请求中发送对HTTP Basic身份验证质询的响应,该请求将发送到HTTPS URL.但是,某些客户端可能会使用抢占式身份验证,在这种情况下,凭据将在第一个纯HTTP请求中发送(有效地清除).

正如我在这个答案中所说,从HTTP重定向到HTTPS并不总能提供所需的安全性.

(关于webcal://URL,我认为有些客户端支持webcals://HTTPS等价的方案.)