由于需要在某访问路径下配置微信的file.txt验证文件,特此记录下nginx的配置;

root 配置

使用 root 时,是指相对于主配置文件中定义的根目录进行路径拼接

如果 root 指定的是 /var/www/html,那么实际文件应该放在 /var/www/html/xxx/path/usUPk61vXu.txt

server {
listen 80;
server_name www.your_yuming.com;

location /xxx/path/usUPk61vXu.txt {
root /usr/local/nginx/html;
add_header Content-Type text/plain;
}

location / {
# 其他配置
}
}

alias 配置

alias 时,是直接指定文件的绝对路径

server {
listen 80;
server_name www.your_yuming.com;

location /xxx/path/usUPk61vXu.txt {
alias /usr/local/nginx/html/usUPk61vXu.txt;
add_header Content-Type text/plain;
}

location / {
# 其他配置
}
}

补充知识

nginx中节点upstream的访问请求:

  • http://127.0.0.1:8080 没有尾部斜杠 (127.0.0.1:8080): Nginx 将请求路径保持原样进行转发
  • http://127.0.0.1:8080/ 有尾部斜杠 (127.0.0.1:8080/): Nginx 将请求路径替换为根路径,去掉 location 指令中的路径部分

形式:http://127.0.0.1:8080

upstream backend {
server 127.0.0.1:8080;
}

server {
location /api {
proxy_pass http://backend;
}
}

Nginx 将按照原路径转发

访问地址:http://yourdomain.com/api/some/resource

转发地址:http://127.0.0.1:8080/api/some/resource

形式:http://127.0.0.1:8080/

注意:在upstream中不能配置server 127.0.0.1:8080/形式,nginx -t校验报错

upstream backend {
server 127.0.0.1:8080;
}

server {
location /api {
proxy_pass http://backend/;
}
}

Nginx 将省略/api前缀后按访问路径转发

访问地址:http://yourdomain.com/api/some/resource

转发地址:http://127.0.0.1:8080/some/resource