node.js – nginx:根据域前缀重定向到端口(动态)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了node.js – nginx:根据域前缀重定向到端口(动态),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1394字,纯文字阅读大概需要2分钟。
内容图文
![node.js – nginx:根据域前缀重定向到端口(动态)](/upload/InfoBanner/zyjiaocheng/951/0e8a3dff35a446f8b0750c47e9575db4.jpg)
我正在尝试使用nginx根据域前缀重定向到端口(运行nodeJS应用程序).到目前为止,我可以重定向
> example.com:80 – >港口8502
> 5555.example.com:80 – > 5555号港口
> 6666.example.com:80 – > 6666港口
有没有办法进行这种重定向而无需一遍又一遍地复制粘贴?
server {
listen 80;
server_name 5555.example.com;
location / {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_pass http://example.com:5555;
}
}
我想我应该用正则表达式做这个,所以我尝试了以下,但没有任何成功:
~^(?<theport>.+)\.example\.com$ #then changed proxy_pass to http://example.com:$theport
~^([0-9]+)\.example\.com$ #then changed proxy_pass to http://example.com:$1
server_name "~^([0-9]{4})\.example\.com$";
set $theport $1; #then changed proxy_pass to http://example.com:$theport
在所有情况下,我都收到“502 Bad Gateway”错误.
解决方法:
我找到了解决方案!正则表达式有效,但你需要添加一个解析器,以便在proxy_pass中有一个变量(至少,这就是我理解它的方式).
server {
listen 80;
server_name ~^(?<port_subdomain>[0-9]*).example.com$;
location / {
resolver 10.33.1.1; #/etc/resolv.conf
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_pass http://example.com:$port_subdomain;
}
}
内容总结
以上是互联网集市为您收集整理的node.js – nginx:根据域前缀重定向到端口(动态)全部内容,希望文章能够帮你解决node.js – nginx:根据域前缀重定向到端口(动态)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。