1. 首页
  2. 软件•建站

nginx配置不同域名访问不同局域网内服务器

不同域名或同一域名不同端口号访问不同的服务器需要做哪些设置

某公司只有1个公网IP,由于业务关系,需设置windows服务器、linux服务器等多台电脑以便运行不同的服务程序。
一种是直接在入口路由器上设置端口转发,且二级域名后需要加端口号才能直接访问服务。一般用户不是很喜欢,还是喜欢用默认的80端口,免去了输入端口号。
设置前景
主域名bandwh.com,其中192.168.2.22是nginx配置的web服务器。192.168.2.23是windows服务器。某业务需要访问192.168.2.23服务器。一种是直输入bandwh.com:8096来访问192.168.2.23。另一种是通过配置二级域名如img.bandwh.com来访问192.168.2.23。
对于第一种,我们可以直接在路由器中端口转发8096至windows服务器。但是这样域名必须是bandwh.com:8096。也可以指定一个二级域名img.bandwh.com,首先在域名服务商处指向img.bandwh.com到公网固定IP,在路由器转发8096端口至局域网192.168.2.23的windows服务器上,在主web服务器上修改nginx配置即可。这样的划就需要通过img.bandwh.com而无需img.bandwh.com:8096来访问服务
server {
listen       80;
server_name  img.bandwh.com;
        location /
         {
        proxy_set_header Host $host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass img.bandwh.com:8096/;
          }
      }
这样通过img.bandwh.com访问192.168.2.23服务器上的数据。

还有一种是直接访问img.bandwh.com,不需要在路由器上做端口转发。我们可以这样域名服务商处指向img.bandwh.com到公网固定IP,在内网搭建个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到外网IP的域名的HTTP请求就会发送到nginx反向代理服务器,利用nginx反向代理将不同域名的请求转发给内网不同机器的端口,就可以“根据域名自动转发到相应服务器的特定端口”的效果。
我们在主web服务器上修改reverse-proxy.conf配置
server
{
    listen 80;
    server_name bandwh.com;
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://192.168.2.22:80;
    }
    access_log logs/bandwh.com_access.log;
}

server
{
    listen 80;
    server_name img.bandwh.com;
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://192.168.2.23:80;
    }
    access_log logs/img.bandwh_access.log;
}
这样可以bandwh.com访问192.168.2.22服务器,img.bandwh.com访问192.168.2.23服务器。

本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/web/34.html

发表评论

用户名: 验证码:点击我更换图片

最新评论