问题标签 [http-host]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 为什么在 Next.js 中发出请求时会有不同的主机头?
我在 Docker 容器内的 Elastic Beanstalk 中的 Amazon Web Services 上托管我的 Next.js 应用程序。我最近通过从 Express.js 打印注意到req.host
,每当发送请求以/_next*
路由主机时,都是myid.elasticebeanstalk.com
. 在所有其他请求中(例如,对于实际页面或对 API 服务器的请求),主机example.com
既是客户端又是服务器端(假设我的应用程序托管在该地址)。
我想知道为什么会这样?如何将主机标头设置为/_next*
路由example.com
?我怀疑有时这可能会导致 SSL 错误,因为主机将不正确。
弹性 beanstalk 配置是单实例。DNS 记录在 AWS Route 53 中配置。带有的主机标头myid.elasticebeanstalk.com
仅出现在服务器端请求中。example.com
是 CNAME,而不是别名。日志是在 docker 容器内制作的。一般来说,我认为 SSL 证书是由 Cloudfront 中的 AWS 提供的。
编辑:看起来主机名应该在 Elastic Beanstalk 的主机操作系统中设置,应该是 Linux。此AWS 文档对此进行了解释。
php - .htaccess 中的 apache 错误 HTTP_HOST 和 SERVER_NAME 但在 php 中正确
我有一个 apache Web 服务器,版本:Apache/2.4.34 (Red Hat),在它上面我有多个虚拟主机
现在,在 .htaccess 中,我有一个重定向来剪切尾部斜杠,但是在那里,变量 HTTP_HOST 和 SERVER_NAME总是加载默认(第一个)虚拟主机,而不是当前虚拟主机
问题甚至很奇怪,在 php 中这些变量已正确加载
知道该怎么做吗?我花了几个小时挖谷歌没有结果:(
LE 似乎不够清楚,假设我只有 2 个虚拟主机:www.ex.com和 mail.ex.com,第一个也是我键入 httpd -S 时的默认虚拟主机......现在,当我访问 mail.ex.com 时,在 .htaccess HTTP_HOST 中加载了www.ex.com而不是 mail.ex.com
nginx - Nginx 在 PHP 中传播 server_name 正则表达式
在我的 Nginx 配置中有
效果很好。但是当 Php 这样做echo $_SERVER['SERVER']
时,它会看到:
尽管看起来合乎逻辑,但有没有办法获得与正则表达式匹配的服务器名称?服务器变量HTTP_HOST
包含良好的值 ( stuff.mygreatsite987778.com.invalid
)。我想保留SERVER
变量。
java-8 - 为 JaxRs 客户端设置代理服务器的通用方法
我有代码,其中 webtarget 从不同的库传递给我。我无权访问代码来修改ResteasyClient。我想做的是相当于
我已经试过了-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=9999
我也试过
两者都不等同于 defaultProxy("127.0.0.1", 9999, "http")
似乎他们在这里可能有解决方案。我尝试注册以查看解决方案。但是他们没有简单的订阅方式,我只需输入我的信用卡号码即可。
我想问这个问题的另一种方法是,有没有一种方法可以设置 org.apache.http.client.config.RequestConfig 的所有实例,将其代理属性设置为http://127.0.0.1:9999
其他详细信息:
我要做的是通过代理服务器路由 http 流量。我不想在操作系统级别修改任何东西(流量整形的东西)。如果我在 java 中使用常规的 http 客户端,则参数-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=9999
有效。但是当使用 jboss resteasy 客户端时,这些参数不起作用。
asp.net-mvc - 在 Azure 反向代理后面的 ASP.NET (4.7) MVC 中设置 HTTP_HOST 服务器变量
我继承了一个较旧的 .NET 4.7 MVC 应用程序,该应用程序托管在 Azure 中并位于反向代理(应用程序网关)后面。当请求从反向代理转发时,重写规则被设置为使用正确的域工作,这是到位的重写规则:
网络配置
我了解应用程序网关 (v1) 使用了非标准标头,例如 X-Original-Host(而不是 X-Forwarded-Host),这就是为什么上述规则适用于设置 IIS 服务器变量的原因。
现在,我们已经迁移到 Front Door,它发送标准的 X-Forwarded 标头。现在这意味着上述规则默认情况下不起作用,我已经通过为每个请求手动发送“X-Original-Host”标头(使用路由规则)来采取变通方法。
我想取消所有这些并使用标准的 X-Forwarded-Host 标头来设置 HTTP_HOST 服务器变量。
问题:
- 我是否可以轻松地将 HTTP_X_ORIGINAL_HOST 替换为 HTTP_X_FORWARDED_HOST?
- 我试图找到与上述值相关的文档,但找不到,有人可以指点我正确的方向吗?
- 有人说要
<proxy enabled="true" preserveHostHeader="true" />
在 system.webServer 下使用,但我找不到有关此的官方 Microsoft 文档
基本上,我想知道如何使用 X-Forwarded-Host 标头设置 HTTP_HOST 变量。
nginx - Nginx:需要 http_name 域的映射函数
我们需要请求主机的域部分。
Fe:如果www1.domX.here是请求的主机,我们需要domX.here变量。
不工作:
此示例导致一个空域。
目前以这种方式解决了它:
javascript - 只获取域名
我只想要没有子域和路径 URL 的域名。
例子 :
浏览器中的 URL 加载:https://www.example.com/something
。我只想example.com
我试过了echo $_SERVER['HTTP_HOST'];
,echo $_SERVER['SERVER_NAME'];
但输出是www.example.com
但它想要example.com
作为输出。
用什么?