天天看点

阿里云配置二级域名与nginx代理踩坑

之前一直想配置一个二级域名。过程中踩了一些坑。现记录下来也给自己一个总结。

1 配置二级域名

配置二级域名,也就是我们在主域名下分发一个域名。比如 www.baidu.com ,我们想配置一个www.m.baidu.com,用专业的词叫域名解析。这个操作在阿里云服务器上步骤如下:

(1)通过再阿里云控制台搜索域名解析,进入到域名列表。

阿里云配置二级域名与nginx代理踩坑

(2)点击当前域名下右侧操作选项的 “解析”进入解析页面

阿里云配置二级域名与nginx代理踩坑

(3) 进入解析页面以后,添加 记录

阿里云配置二级域名与nginx代理踩坑

 这里重点说一下,主机记录。主机记录也就是域名前缀。它直接决定了你以什么方式访问这个域名。比如下图中如果主机记录是www.那么你就只能这样访问 www.kaon.net.cn,而不能直接kaon.net.cn访问,所以如果你想让你的网站可以直接输入kaon.net.cn被访问。那你改成@即可

阿里云配置二级域名与nginx代理踩坑

 特别提示:如果你添加了一个二级域名。而没有给一级域名进行域名解析。那就回出现你访问二级域名可以正常访问。但是访问一级域名却无法打开的情况。所有切记一定要把二级域名和一级域名都要解析。

到这里只是走完了第一步:我们在远程服务器配置了一个二级域名。接下来我们还有一个目的要实现。我们希望访问 kaon.net.cn进入到首页1,而通过 scan.ksan.net.cn可以访问到首页2.。而不是通过端口来区分。(例如kaon.net.cn------->访问首页1;scan.kaon.net.cn:8888------->访问首页2)

这时我们就需要通过nginx进行代理了。这就是我们的重点:.找到nginx.conf文件

user  root;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #gzip  on;

    server {
        listen       80;
        server_name  localhost;
        location / {
            root /root/pc/dist;
  			if ( $http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry) ) {
  				root /root/mobile/dist;
			}
  			index index.html index.htm;
  			try_files $uri $uri/ /index.html;
        }
        location /jingtai {
            alias   /root/static;
        }

	   location /testService {
                alias   /root/testService/dist;
                try_files $uri $uri/ /index.html last;
                index  index.html;
        }
    }
    server {
        listen       80;
        server_name  scan.ksan.net.cn;
        location / {
            proxy_pass  http://109.15.39.32:9999;
	   }
    }
    server{
        listen  9999;
        server_name   scan.ksan.net.cn;
        location / {
            root 	html;
            index 	index2.html;
        }
    }

}
           

这里我们的思路就是同时监听80端口,而server_name为scan.kson.net.cn的域名被监听到以后,就会被代理到http://109.15.39.32:9999这台虚拟主机上

 这9999端口的服务器我们给他另外一个首页地址。也就是html目录下的index2.html。

进入到sbin 目录下通过 ./nginx -s reload 

输入scan.kson.net.cn和kson.net.cn,就会发现两个不同的首页

踩坑总结:

1 如果配置了二级域名,一定要对一级域名进行解析 (非常重要)

2 如果配置了一个新的服务。比如server 9999,niginx配置没问题,但是而且reload 以后依旧无法通过ip+端口打开,则要看看9999这个端口是否被防火墙放行。

 firewall-cmd --zone=public --list-ports   ===>查看所有放行的端口

如果9999不在其中则需要添加进去

firewall-cmd --permanent --zone=public --add-port=9999/tcp ,重启以后就会正常访问

继续阅读