nginx - Nginx反向代理没有定义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;
}
}
推荐阅读
- openssl - 产生分叉过程时预期过早的 EOF
- git - 如果有未提交的更改,是否可以将 git 子模块更新为自动存储?
- react-native - Reducer 代码第一次运行,但连续几次只执行 Actions 代码而 Reducer 代码没有?| React-Native 和 Redux
- django - 我将我的 Django 应用程序连接到 MLabs,我现在该怎么做才能将我的数据库结构迁移到它?
- javascript - 如何迭代 URL 数组并在移动到下一步之前等待响应
- php - 在 WooCommerce 中隐藏可用运输方式选项的成本
- javascript - 在 localStorage 中添加不带转义字符的字符串数组
- flutter - 如何在 Flutter 中共享 PDF 文件
- node.js - Neo4jError:您无法在关闭的会话上运行更多事务
- python - Python:创建新的数据框列,显示相对于其他列值的排名