【问题标题】:how to port forward to multiple local servers?如何端口转发到多个本地服务器?
【发布时间】:2018-03-07 06:14:16
【问题描述】:

我在办公室购买了一台服务器来设置多个 Web 服务,例如 gitlab、odoo、弹性搜索等。

我想从外部访问多个网络服务。

到目前为止,我尝试做的是

  1. 在服务器上安装了 Ubuntu 16.04 和 nginx
  2. 设置端口转发从 80 到我路由器中的服务器 ip
  3. 将域 local.example.com 的 DNS 设置为我的公共 IP 地址,这样当我键入 local.exmaple.com 时,它会重定向到服务器中的 nginx Web 服务器。
  4. 在 /etc/nginx/site-available/default 下面的文件中添加了一些字符串

    server {
    
        server_name local.example.com;
        listen 80;
        location / {
                proxy_pass http://192.168.0.11:8081;//virtual web server made by virtual box
                proxy_set_header Host $http_host;
                proxy_set_header X-Real_IP $remote_addr;
        }
    }
    

然而,毕竟这些东西,当我在浏览器上输入域名时,它显示的是安装在服务器上的 nginx 网页,它没有转发到虚拟主机。

【问题讨论】:

  • 删除默认服务器块并重新启动 nginx。之后试试。确保在没有缓存的私人窗口中进行测试
  • 更改配置后,你重新加载了 nginx 吗? nginx -s reload
  • @IAmBatman 不,但我总是执行 service nginx restart
  • @TarunLalwani 谢谢!!它就像一个魅力!但是是什么让 Nginx 配置中的默认服务器块保持重定向?通常我什至不接触默认服务器块,只是在最后附加一些代码来重定向。有什么区别?

标签: nginx reverse-proxy portforwarding


【解决方案1】:

删除默认服务器块并重新启动 nginx。之后试试。确保在没有缓存的私有窗口中进行测试

问题是,当您在虚拟主机名或其他内容中出现错误时,nginx 会默默地将请求发送到定义的第一个服务器块。或带有默认服务器的一组。所以你总是想避免这种情况

【讨论】:

  • 感谢您告诉我!
猜你喜欢
  • 2022-11-22
  • 2014-03-21
  • 1970-01-01
  • 2011-02-20
  • 2020-11-04
  • 1970-01-01
  • 1970-01-01
  • 2017-06-27
  • 1970-01-01
相关资源
最近更新 更多