
在Nginx中配置域名和非默认端口主要通过两种方式实现:直接监听非默认端口或使用80端口的反向代理转发。
直接监听非默认端口
您可以在Nginx配置中使用listen指令直接指定非默认端口:
server {
listen 8080;
server_name example.com;
root /var/www/example;
index index.html;
}
这种配置让Nginx直接在8080端口上提供服务,用户需要通过http://example.com:8080访问。
使用反向代理隐藏端口
更常见的做法是让Nginx监听80端口,然后通过反向代理将请求转发到实际服务的非默认端口:
server {
listen 80;
server_name sec.xxx.cn;
location / {
proxy_pass http://127.0.0.1:8790;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
这种方式下,用户访问http://sec.xxx.cn(无需指定端口),Nginx会自动将请求转发到本机的8790端口服务。
多域名多端口配置
当需要为不同域名配置不同后端端口时,可以设置多个server块:
server {
listen 80;
server_name mt.xxx.cn;
location / {
proxy_pass http://127.0.0.1:8166;
}
}
server {
listen 80;
server_name yun.xxx.cn;
location / {
proxy_pass http://127.0.0.1:45606;
}
}
这样配置后,mt.xxx.cn指向8166端口服务,yun.xxx.cn指向45606端口服务。
配置验证与重载
配置完成后,使用以下命令验证配置语法并重新加载:
nginx -t
nginx -s reload
反向代理方式是最推荐的解决方案,因为它既保持了用户访问的简洁性(无需记忆端口号),又能灵活管理多个服务。
请先登录后发表评论