nginx 配置二级域名转发
需求
服务器只有一台,多个应用使用了不同的端口,现在想要通过不同的二级域名来访问不同的应用,而不是通过不同的端口号,想要实现的效果如下:
配置前:
访问 eg.com:8080
访问应用 a
访问 eg.com:8081
访问用用 b
配置 nginx 后:
访问域名 a.eg.com
可访问应用 a
访问域名 b.eg.com
可访问应用 b
实现
通过两个步骤:
- 二级域名绑定服务器 IP
- 配置服务器 Nginx 域名转发
二级域名绑定
到域名服务商那里,新建一个二级域名,并绑定服务器 IP 地址即可
Nginx 配置
简单来说,就是几个二级域名配置几个 server,例如 如下配置
http {
# 此处省略一些配置
...
# 二级域名 server1
server {
listen 80;
server_name a.eg.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8080;
}
# 二级域名 server2
server {
listen 80;
server_name b.eg.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8081;
}
}
Nginx 重启
nginx -s reload
即可实现需求中的功能
觉得好用请点个赞,有问题欢迎留言,不定时回复 ~