由于使用阿里云服务器+Alist 挂载了云盘,但是Alist默认监听5244端口,所以访问Alist需要输入公网ip:端口号才能访问,同理,其他的服务需要输入ip:不同端口号访问,正好手上有一个域名,想直接使用不同的二级域名直接访问不同的端口,即实现如下这样的效果:
假设有test.com 域名,使:
app.test.com 访问 ip:端口1 (文中以1.2.3.4:1234为例子)
bpp.test.com 访问 ip:端口2
cpp.test.com 访问 ip:端口3
1.配置二级域名解析
首先最重要的当然是拥有test.com这个域名,拥有域名之后,需要在云服务商那边设置DNS解析,这样输入例如app.test.com这样的网址,浏览器才知道要去哪个ip。这里使用的是阿里云服务器,购买好域名之后,添加解析记录,并输好二级域名以及服务器IP地址即可。
2.安装NGINX
这里使用的是Ubuntu系统,输入以下指令安装NGINX
sudo apt-get install nginx
3.配置反代
安装完成后,基本上的所有配置文件在 /etc/nginx/ 文件夹下,这里有nginx.conf默认配置文件,且里面已经将 /etc/nginx/conf.d/ 文件夹引用了,所以可以不管默认配置文件,直在 /etc/nginx/conf.d/ 下面生成一个reverse_proxy.conf文件来配置我们自己的反代。
输入一下指令生成新的配置文件:
vi /etc/nginx/conf.d/reverse_proxy.conf
按下“i”键进入编辑模式,输入如下的代码:
server
{
listen 80;
server_name app.test.com; #注意将域名替换成你所使用的实际域名
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_rang;
proxy_redirect off;
proxy_pass http://1.2.3.4:1234; #注意将ip和端口号根据实际情况替换
# the max size of file to upload
client_max_body_size 20000m;
}
}
注意将二级域名"sever_name"和ip及端口"proxy_pass"都依据实际情况替换,由于项目是依据Alist搭建的,这里其他部分的代码来自于Alist的手册,其他的项目请依据项目内容做修改。
如果有其它的二级域名需要转发到不同的端口,可以直接将上述所有的代码复制在后面,重新建一个新的server,然后修改域名、IP和端口即可。
按下"ESC"键后,直接输入“:wq”,即可保存并退出这个配置文件。
输入以下指令,重新加载并重启nginx服务。
service nginx reload;service nginx start
到这已经完成了NGINX的配置,接下来在浏览器输入相应的二级域名即可访问不同的端口。
转载请注明出处!