当前位置: 首页 > java >正文

在一台服务器上通过 Nginx 配置实现不同子域名访问静态文件和后端服务

一、域名解析配置

要实现通过不同子域名访问静态文件和后端服务,首先需要进行域名解析。在域名注册商或 DNS 服务商处,为你的两个子域名 blog.xxx.com 和 api.xxx.com 配置 A 记录或 CNAME 记录。将它们的 A 记录都指向你服务器的 IP 地址。例如,如果服务器 IP 是 192.168.1.100,那么设置 blog.xxx.com 和 api.xxx.com 的 A 记录值为这个 IP。

二、Nginx 配置

(一)静态文件配置(blog.xxx.com)

  1. 创建一个新的 Nginx 配置文件,或者编辑现有的配置文件。可以通过命令 sudo nano /etc/nginx/sites-available/blog(路径可能会因你的系统安装配置而有所不同)来创建或编辑。

  2. 配置内容如下:

    
    server {listen 80;server_name blog.xxx.com;location / {root /path/to/your/static/files; # 静态文件存放路径index index.html;}
    }

    这里监听 80 端口,server_name 指令指定子域名。location / 块指定了根目录,当用户访问 blog.xxx.com 时,会从指定的静态文件目录中查找资源。

(二)后端服务配置(api.xxx.com)

  1. 同样,创建或编辑 Nginx 配置文件,如 sudo nano /etc/nginx/sites-available/api

  2. 配置示例:

    server {listen 80;server_name api.xxx.com;location / {proxy_pass http://localhost:your_backend_port; # 后端服务运行的本地端口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_set_header X-Forwarded-Proto $scheme;}
    }
    

这里也是监听 80 端口,proxy_pass 指令将请求转发到本地运行的后端服务端口,其他 proxy_set_header 指令用于正确设置请求头,以便后端服务能够获取正确的客户端信息等。

通过以上步骤,你就可以实现在一台服务器上,通过不同的子域名分别访问静态文件和后端服务,并且都开启了 HTTPS 保护。

http://www.xdnf.cn/news/4679.html

相关文章:

  • CTF - PWN之ORW记录
  • 全球森林数据如何分析?基于R语言森林生态系统结构、功能与稳定性分析与可视化
  • 一键设置动态域名+ipv6内网直通访问ssh服务-家庭云计算专家
  • 关于 wordpress 统计访问量初始数值错误的解决方法
  • 【Pandas】pandas DataFrame abs
  • 2025年小程序DDoS与CC攻击防御全指南:构建智能安全生态
  • typecho中的Widget设计文档
  • Vscode (Windows端)免密登录linux集群服务器
  • 搭建和优化CI/CD流水线
  • VTK|.obj文件数据处理+Jet/Viridis/CoolToWarm/Grayscale/Rainbow/风格颜色渲染
  • [逆向工程]什么是DLL注入(二十二)
  • 两种方法求解最长公共子序列问题并输出所有解
  • Ubuntu 22.04 出现 ‘Temporary failure resolving‘ 解决方案
  • 单圈精微,多圈无界——绝对值编码器如何重构工业定位的底层逻辑
  • React -> AI组件 -> 调用Ollama模型, qwen3:1.7B非常聪明
  • C++从入门到实战(十四)初识STL与STL简介
  • [ linux-系统 ] 权限管理
  • Android平台FFmpeg视频解码全流程指南
  • Hadoop MapReduce 图文代码讲解
  • C++ 复习(一)
  • 洛谷 P3811:【模板】模意义下的乘法逆元
  • 监控系统进阶方案:OpenObserve的Docker部署与远程访问配置指南
  • 深入理解 java `isAssignableFrom` 方法
  • Qt 通过控件按钮实现hello world + 命名规范(7)
  • 【QT】: 初识 QWidget 控件 | QWidget 核心属性(API) | qrc 文件
  • 【JavaScript】二十九、垃圾回收 + 闭包 + 变量提升
  • 射频前端模组芯片(PA)三伍微电子GSR2337 兼容替代SKY85337, RTC7646, KCT8247HE
  • 组合优化中常用的数据结构
  • Linux系统(OpenEuler22.03-LTS)部署FastGPT
  • 《构建社交应用用户激励引擎:React Native与Flutter实战解析》