ubuntu - 使用 NGINX 作为反向代理为同一服务器上的网络服务器提供服务
问题描述
我正在尝试将 Nginx 实现为反向代理,以通过子域为不同的 Web 应用程序提供服务,但似乎找不到任何对初学者友好的指南。
例子:
- cloud.mydomain.com => [本地] 192.168.0.33:5000;
- web.mydomain.com => [本地] 192.168.0.33:5001;
这个想法是在我的路由器上打开端口 80 和 443,然后将所有流量转发到反向代理,然后反向代理与我的 LAN 上的相应服务器(通过子域配置指定)通信并将请求传递回客户端。
到目前为止我尝试过的(虽然没有任何运气):
1)编辑default
文件/etc/nginx/sites-available/
看起来有点像这样:
server {
listen 80;
server_name cloud.mydomain.com;
location / {
proxy_pass http://localhost:5000/;
}
}
server {
listen 80;
server_name node2.mydomain.com;
location / {
proxy_pass http://localhost:5001/;
}
}
这将导致任何子域指向我在第一个块中指定的任何内容:(
2)取消链接默认文件,在下创建一个新test.conf
文件/etc/nginx/sites-available/
并将其链接到/etc/nginx/sites-enabled/
(nginx -t
没有报告任何错误)。配置与上面相同。
设置:我正在运行 Ubuntu Server 19.10。我做了一个域名,我已经将子域设置为 CNAME 记录。
注意:我不想将 Nginx 用作 Web 服务器。我正在尝试将它用于 node.js Web 应用程序、数据库、我的 nextcloud 等。
注意 2:我现在只关心子域。是的,我需要添加 SSL 配置等,但是一旦我了解如何进行正确的配置,我将能够使用文档解决所有这些问题(我希望?哈哈)。
解决方案
推荐阅读
- python - 从 QDialog 和终止文件之前获取价值
- python - 在 allure-pytest 中获取动态测试描述
- python-3.7 - 如何使用 re.sub 替换特定的迭代?
- javascript - 如何将焦点锁定在文本输入框上以使其始终处于活动状态?
- arrays - 数组中二叉树的存储元素
- scala - 如何从列表中创建新的 DataFrame?
- javascript - 单击时清除/重置绑定计时器/倒计时事件
- reactjs - Azure Dev Ops react-scripts 测试永远挂起
- git - 在 git 的版本控制下打包一个目录
- vim - vim 语法 - 如何突出显示区域内的匹配项