在设置 Nginx 的配置文件时,$host 和 $http_upgrade 是什么意思?

在设置 Nginx 的配置文件时,$host 和 $http_upgrade 是什么意思?

在为应该运行使用 WebSockets 的网站的 nginx 设置配置文件时,所有教程都建议使用这个:

location /wsapp/ {
    proxy_pass http://websiteName;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $host;
}

$host 和 $http_upgrade 到底是什么?它们是需要替换的伪变量吗?

答案1

$http_upgrade被名称为 的 HTTP 标头替换Upgrade

$host或者是:

  • 请求行中的主机名
  • Host 请求标头字段中的主机名
  • 与请求匹配的服务器名称

nginx 将这些变量替换为实际内容。nginx 变量的完整列表列在http://nginx.org/en/docs/varindex.html

相关内容