Nginx反向代理没有定义server_name?
Nginx reverse proxy without defining server_name?
我需要访问私有网络中的网络服务器,无法从外部直接访问。打开路由器端口等不是一个选项。
我尝试在该网络中使用 raspi 解决这个问题,我可以通过 upswift.io 进行管理。
除其他外,upswift 允许通过 url 之类
临时远程访问给定端口
http://d-4307-5481-nc7nflrh26s.forwarding.upswift.io:56947/
这将映射到我可以定义的端口。
有了这个,我可以访问 pi 上的 VNC 服务器,在那里启动浏览器并访问我需要的网络服务器。
但我希望找到一种更优雅的方式,我可以从我的本地浏览器访问站点,并且 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,这样它就不需要那个名字了。我希望这是可能的,因为默认的网络服务器配置也可以在没有它的情况下工作。反向代理在这方面有什么不同吗?
或者,有没有比使用反向代理更好的方法来做我想做的事?
您可以尝试将其定义为默认块
server {
listen 80 default_server;
server_name _;
location / {
proxy_pass http://192.x.x.2;
}
}
我需要访问私有网络中的网络服务器,无法从外部直接访问。打开路由器端口等不是一个选项。
我尝试在该网络中使用 raspi 解决这个问题,我可以通过 upswift.io 进行管理。
除其他外,upswift 允许通过 url 之类
http://d-4307-5481-nc7nflrh26s.forwarding.upswift.io:56947/
这将映射到我可以定义的端口。 有了这个,我可以访问 pi 上的 VNC 服务器,在那里启动浏览器并访问我需要的网络服务器。
但我希望找到一种更优雅的方式,我可以从我的本地浏览器访问站点,并且 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,这样它就不需要那个名字了。我希望这是可能的,因为默认的网络服务器配置也可以在没有它的情况下工作。反向代理在这方面有什么不同吗?
或者,有没有比使用反向代理更好的方法来做我想做的事?
您可以尝试将其定义为默认块
server {
listen 80 default_server;
server_name _;
location / {
proxy_pass http://192.x.x.2;
}
}