menu LittleJake's Blog
color_lens
avatar
Jake Liu
Never Settle
creative commons by-nc-sa
hit
Category
keyboard_arrow_down

© 2024 LittleJake's Blog.

萌ICP备20223020号

Nginx单机配置本地反向代理上游无法解析问题

前言

由于项目需要,由于前后端分离的原因,需要在Windows的单台主机上配置反向代理(不联网)。

服务器配置如下:

域名1、域名2,域名1的uri为/api时反向代理至域名2。

出现问题

正常来说,配置应该如下:

server {
    listen 80;
    server_name test1.com;
    ...
    location /api {
        proxy_pass http://test2.com/;
        ...
    }
}
server {
    listen 80;
    server_name test2.com;
    ...
    location / {
        ...
    }
}

然而,服务运行发现,nginx报错提示找不到上游upstream http://test1.com

尝试修复

初步判断为dns解析问题,那么问题来了,不联网的机器怎么实现解析。

通过修改hosts文件,添加如下行:

127.0.0.1 test1.com
127.0.0.1 test2.com

重新打开nginx,问题依旧。

解决问题

由于报找不到upstream,那我手写一个upstream总可以吧。

不联网的话除非自建dns服务器,否则只能手写upstream

在server块外部添加:

upstream test2.com {
    127.0.0.1:80;
}

问题解决,启动服务无报错。

后记

归纳nginx不读取hosts文件解析,这个问题可能有以下原因:

  1. nginx代码没写
  2. Windows系统问题
  3. nginx版本问题(本次出现问题的是1.19.1版本)
Buy me a beer
Jake Liu
Never Settle

Title: Nginx单机配置本地反向代理上游无法解析问题

Author: Jake Liu

Origin:

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) For any re-post you must give appropriate credit.

文章遵循CC许可 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 转载请注明出处

Tag:nginx, windows, Host, upstream

评论区

Add a new comment.

Theme