2017-09-26 293 views
1

我已经在我的办公室购买了一台服务器来设置多种web服务,比如gitlab,odoo,弹性搜索等。如何将端口转发到多个本地服务器?

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

到目前为止我所试图做的是

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

    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网页,安装在服务器上,不会转发到虚拟主机。

+2

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

+0

更改配置后,你重新加载nginx? 'nginx -s reload' –

+0

@IAmBatman不,但我总是执行服务nginx重启 –

回答

2

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

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

+0

谢谢你让我知道! –

相关问题