在 Ubuntu 上“隐藏域名”通常指不让域名在访问或配置中直接暴露,常见场景有下面几种。你可以对照看看你具体想实现哪一种,我可以再细化。
使用 Nginx / Apache 反向代理
server {
listen 80;
server_name public.example.com;
location / {
proxy_pass http://real-domain.local;
proxy_set_header Host real-domain.local;
proxy_hide_header Server;
}
}
✅ 效果:
public.example.comreal-domain.local 不暴露server_tokens off;
proxy_hide_header X-Powered-By;
✅ 防止通过 HTTP 头泄露服务器信息
ssh -L 8080:localhost:80 user@server
浏览器访问:
http://localhost:8080
✅ 域名完全不出现
/etc/hosts 中配置.local、.internal)127.0.0.1 myapp.local
✅ 域名不会出现在公网
⚠️ 注意:
常见组合:
| 目的 | 推荐 |
|---|---|
| 对外隐藏真实域名 | ✅ Nginx 反向代理 |
| 防止信息泄露 | ✅ 关闭 server_tokens |
| 内网使用 | ✅ hosts + 内网域名 |
| 防扫描 | ✅ CDN + 防火墙 |
如果你愿意,可以告诉我:
1️⃣ 是 网站 / API / 服务?
2️⃣ 想隐藏给 用户 / 扫描器 / 公网?
3️⃣ 用的是 Nginx / Apache / Docker?
我可以直接给你一套可复制的配置方案 ✅