我以前安装过web服务器,但现在我正在开发一个嵌入式Linux项目,这有点不同。我需要嵌入式Linux设备
我有点不确定如何使用HTTP来重定向HTTPS。让它变得困难的是,我将不知道DNS或IP。是否有一种方式可以让mod重写动态地检测当前IP并重定向到HTTP,如下所示:
RewriteRule ^(.*)$ https://[(currentDHCPIPAddress)/$1 [L,R=301]
大部分流量将来自内部局域网,所以我不能做某种防火墙魔术。
如果其他人有任何想法来实现这一点,我很乐意听取他们的建议。这与您希望设置大多数服务器的方式略有不同,因此它暂时使我感到困惑,而且大多数文档都没有为这种用例做好准备。
发布于 2021-04-04 05:01:12
这是一个简单重定向,所以让我们先使用避免使用mod_重写,然后使用国防部_别名Redirect
。
如果在一个新的
Redirect
指令被使用在一个更高级的或部分中,而忽略了相应的URL路径,那么这个URL参数将被使用表达式语法来解释。
使用表达式语法,您可以使用变量,%{HTTP_HOST}
包含Host:
头中的任何内容,即浏览器地址栏上的主机名,无论是DNS名称还是IP地址。这正是你要找的。
把这个放在一起。默认的(第一次或唯一的) 基于名称的虚拟主机可以有:
NameVirtualHost *:80
Redirect "https://%{HTTP_HOST}%{REQUEST_URI}"
这将使端口80上的任何HTTP请求重定向到其HTTPS等效,除非有匹配的基于名称的虚拟主机配置不同。
https://serverfault.com/questions/1059307
复制相似问题