设想
nginx
我有一个由Listen at domain提供服务的网站myabc.domain.com
。
配置nginx
是:
server {
listen 443 ssl;
server_name myabc.domain.com`;
root /home/ubuntu/portal;
location / {
# other directives
}
然后我在 DNS 服务器中添加一条 A 记录:
myabc.domain.com -> 123.123.123.123
它运行良好。
然后,我将 CNAME 记录添加到 DNS 服务器
myabc2.domain.com -> myabc.domain.com
我尝试使用 myabc2.domain.com 从浏览器访问网页,它有效!?
问题
我希望server_name 只允许访问标头nginx
为 的站点。host
myabc.domain.com
浏览器自动将标题host
设置为我输入的标题。(我假设)
那么为什么不nginx
拒绝访问此请求呢?
答案1
再次出现,Assumption
从来都不是一件好事。Reading document
是要走的路。
感谢@muru 为我指出了这一点。
答案是:
server_name
我的问题描述了找不到匹配的服务器时的特定情况。在这种情况下,nginx
会将请求路由到侦听该端口的第一个指定服务器 - 这是我设置中的 myabc.domain.com 服务器。
参考:Nginx 的文档