Nginx反向代理没有定义server_name?



我需要访问私有网络中的web服务器,没有从外部直接访问。不能打开路由器端口等。

我尝试用该网络中的raspi来解决这个问题,我可以通过upswift.io来管理。
upswift允许通过url(如

)对给定端口进行临时远程访问。
http://d-4307-5481-nc7nflrh26s.forwarding.upswift.io:56947/

这将映射到一个我可以定义的端口。有了这个,我可以访问pi上的VNC服务器,在那里启动浏览器并访问我需要的web服务器。

但是我希望找到一种更优雅的方式,我可以从我的本地浏览器访问站点,并且Pi不需要运行桌面。

据我所知,这可以用nginx这样的反向代理来完成。我找到了很多关于它的教程,但我在一点上挣扎:

在能够安装nginx并通过临时的upswift从我的本地浏览器访问它的默认索引页之后。IO url,我不能让它作为反向代理工作。

我想我的conf应该看起来像

server {
listen 80;
server_name example.com;
location / {
proxy_pass http://192.x.x.2;
}
}

其中example.com是访问设备的名称或IP。现在,这对我来说行不通,因为这个名字是动态的。所以我想知道是否有一种方法来配置nginx,所以它不需要这个名字。我希望这是可能的,因为默认的web服务器配置没有它也可以工作。反向代理在这方面有什么不同吗?

或者,有比反向代理更好的方法来做我想要的吗?

您可以尝试将其定义为默认块

server {
listen 80 default_server;
server_name _;
location / {
proxy_pass http://192.x.x.2;
}
}