跳至主要內容
Nginx 请求头相关配置

proxy_set_header Host $host

proxy_set_header Host $host; 这一行的作用是确保在代理请求发送到后端服务器时,Host 请求头会被正确地设置。

Host 请求头在 HTTP 协议中用于指定请求的目标服务器和端口号。这对于虚拟主机的实现至关重要,因为不同的域名(或子域名)可以映射到同一台物理服务器上的不同网站。当一个客户端发送请求时,Host 头告诉服务器哪个虚拟主机或网站应该处理这个请求。

在 Nginx 作为反向代理的情况下,原始请求会到达 Nginx,然后 Nginx 再将请求转发给后端服务器。然而,当 Nginx 转发请求时,如果不显式设置 Host 头,后端服务器接收到的 Host 头可能会是 Nginx 的监听地址,而不是客户端请求中指定的域名。


鸟书大约 14 分钟webnginxconfig 配置proxy_set_header
Nginx 支持 websocket 配置

WebSocket 是一种在单个 TCP 连接上进行全双工通讯的协议,它在 HTTP 的基础上,提供了服务器与客户端之间通信的信道。

要在 Nginx 中配置 WebSocket 支持,需要设置 proxy_pass 来转发请求到后端服务器,并确保 Nginx 不会对 WebSocket 连接的 Upgrade 请求进行错误处理。

websocket 支持配置

首先,确保你的Nginx版本支持WebSocket。通常,这意味着你需要有HTTP/1.1持久连接的支持,这在Nginx 1.3.13及更高版本中是可用的。

在Nginx配置文件中(通常是/etc/nginx/nginx.conf),你需要修改http或server块来支持WebSocket。关键部分在于proxy_pass指令和相关的proxy_http_version、proxy_set_header指令。


鸟书大约 2 分钟webnginxconfig 配置websocket