nginx泛域名解析配置教程

最近一个项目需要承载高并发请求,所以在后端语言上选择了NodeJs,但是nodejs有时候读取不到请求的主机名,所以想到使用nginx+nodejs的方式进行处理。

Nginx 配置

代码如下

upstream io_nodes {
server 127.0.0.1:8081;
}
server {
listen 80;
listen [::]:80;
root /var/www/html;
server_name ~^(?<subdomain>.+).example.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-AppId $subdomain;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://io_nodes;
}
}

重启nginx服务器即可。nginx会将所有的 **.example.com** 格式的域名反向代理到本机的**8081**端口,该端口为**nodejs**监听端口。

NodeJs 读取请求域名以及子域名名称

使用express

var host = req.headers.host;
var appid = req.headers['x-appid'];

以上所述是小编给大家介绍的nginx泛域名解析配置教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • nginx将泛解析的匹配域名绑定到子目录配置方法

    网站的目录结构为: # tree /home/wwwroot/exehack.net /home/wwwroot/exehack.net ├── bbs │   └── index.html └── www     └── index.html 2 directories, 2 files /home/wwwroot/exehack.net为nginx的安装目录下默认的存放源代码的路径. bbs为论坛程序源代码路径:www为主页程序源代码路径:把相应程序放入上面的路径通过:http://www.

  • Nginx泛解析到子目录后自动判断有无public目录详解

    前言 我们大家在配置本地 PHP 开发环境时,除非是在 Windows 下,否则我都是偏向于 Nginx + PHP-FPM, 即使 Mac 下已经有了自带的 Apache+PHP 环境,依然如此.一方面是因为 Mac 自带的 PHP 版本不够新(5.6.x),另一方面,Nginx + PHP-FPM 更接近于我的生产服务器环境,而且也方便用 Homebrew 来管理版本和扩展. 在 Mac 下开发 Laravel, 官方提供了 valet, 可以方便地把子目录映射为虚拟主机,但我在使用的时候,

  • nginx泛域名解析配置教程

    最近一个项目需要承载高并发请求,所以在后端语言上选择了NodeJs,但是nodejs有时候读取不到请求的主机名,所以想到使用nginx+nodejs的方式进行处理. Nginx 配置 代码如下 upstream io_nodes { server 127.0.0.1:8081; } server { listen 80; listen [::]:80; root /var/www/html; server_name ~^(?<subdomain>.+).example.com; locatio

  • Nginx进行域名重写和泛域名解析配置的方法

    本文介绍了Nginx进行域名重写和泛域名解析配置的方法,分享给大家,具体如下: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types;

  • windows下Nginx多域名简单配置教程

    本文实例为大家分享了Nginx多域名的简单配置教程,供大家参考,具体内容如下 1. windows下安装nginx的目录结构如下: 2. 在nginx-1.12.1目录下conf/nginx.conf 内容 #user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile o

  • Apache虚拟主机的配置和泛域名解析实现代码

    虚拟主机的配置 基于IP地址的虚拟主机配置 Listen 80 DocumentRoot /www/jb51 ServerName www.jb51.net DocumentRoot /www/jb512 ServerName www.jb512.org 基于IP和多端口的虚拟主机配置 Listen 172.20.30.40:80 Listen 172.20.30.40:8080 Listen 172.20.30.50:80 Listen 172.20.30.50:8080 DocumentRo

  • Symfony2在Nginx下的配置方法图文教程

    本文详细讲述了Symfony2在Nginx下的配置方法.分享给大家供大家参考,具体如下: 网上有很多关于symfony2在nginx下的配置文章,如果是小白,按照网上贴出来的配置文件配置,却怎么也不成功,我经过多次摸索,写下心得: 1. 首先开启Nginx的pathinfo 至于什么是pathinfo,可以参考文章<nginx下支持PATH_INFO的方法实例详解>,自行脑补.很多人按照教程配置的时候,会报500的错误,查报错日志也查不出来,八成就是没有开启pathinfo. 如果你的主机上安

  • Centos7下nginx的安装与配置教程详解

    说明:软件安装的基础目录路径:/usr/local 所以下载软件的时候切换到此目录下下载直接解压即可 1.安装gcc gcc-c++依赖包 yum install -y gcc gcc-c++ 2.下载编译安装PCRE库 切换到usr/local目录下执行命令 下载安装包 wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz 解压安装包 tar -zxvf pcre-8.36.tar.gz 编译安

  • Nginx/Httpd反代tomcat配置教程

    在上一篇博客中,我们了解了tomcat的server.xml中各组件的用法和作用:其中对于tomcat连接器来说,它分三类,一类是http连接器,一类是https连接器,一类是ajp连接器:通常tomcat作为应用服务器,我们不建议也不应该让tomcat直接面向客户端提供服务:因此进入tomcat的访问就只有其他反代服务器的请求了:如果说tomcat使用其他反代服务器对外提供服务,那么对于https的访问就应该由代理服务器端来实现,从代理服务器到tomcat的访问,我们应该还是使用http或者a

  • nginx反向代理配置去除前缀案例教程

    使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务.设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法: 方法一:加"/" server { listen 8000; server_name abc.com; access_log "pipe:rollback /data/log/nginx/access.log interval=1d baknum=7 maxsize=1G" mai

  • Nginx开源可视化配置工具NginxConfig使用教程

    前言 Nginx是一款非常流行的Web服务器,作为程序员我相信大家没少和它打交道.在我使用Nginx的过程中,一直觉得它的配置很麻烦,尤其是在Linux服务器上用vim手撸配置的时候!最近发现一款开源的Nginx可视化配置工具NginxConfig,能轻松生成Nginx配置,推荐给大家! SpringBoot实战电商项目mall(50k+star)地址: https://github.com/macrozheng/mall NginxConfig简介 NginxConfig号称你唯一需要的Ngi

  • 在Linux系统上通过uWSGI配置Nginx+Python环境的教程

    1.安装ubuntu有uwsgi的ppa: add-apt-repository ppa:stevecrozz/ppa apt-get update apt-get install uwsgi 2. 用uwsgi代替mod_wsgi Nginx 的整体配置这里不说了,假设已经明白 Nginx的基本配置,那么uwsgi就类似这么配置: location / { include uwsgi_params uwsgi_pass 127.0.0.1:9090 } 再比如django就是: .......

随机推荐