【发布时间】:2018-03-07 06:14:16
【问题描述】:
我在办公室购买了一台服务器来设置多个 Web 服务,例如 gitlab、odoo、弹性搜索等。
我想从外部访问多个网络服务。
到目前为止,我尝试做的是
- 在服务器上安装了 Ubuntu 16.04 和 nginx
- 设置端口转发从 80 到我路由器中的服务器 ip
- 将域 local.example.com 的 DNS 设置为我的公共 IP 地址,这样当我键入 local.exmaple.com 时,它会重定向到服务器中的 nginx Web 服务器。
-
在 /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