为什么要隐藏服务器的真实ip?
当域名解析到服务器后,在不采取任何保护的措施下,通过域名能直接查询到服务器的ip,这会暴露服务器的真实ip在外,增加了被攻击风险,为了避免服务器给恶意攻击,在某些情况下,需要对服务器的真实ip采用一定的保护措施,比如dns,反向代理等等。下边来讲讲通过宝塔面板实现反向代理功能。
要使用反向代理功能,需要在宝塔面板中安装 Nginx 或 Apache,通常 Nginx 更常用,因为它性能高、占用资源少。
登录宝塔面板,在左侧菜单栏找到 “软件商店”。
在 “已安装” 或 “未安装” 列表中找到 Nginx,若未安装,点击 “安装” 按钮,等待安装完成。
若尚未创建站点,在宝塔面板左侧菜单栏点击 “网站”,然后点击 “添加站点”。
输入域名,选择 PHP 版本(如果不需要 PHP 可选择 “纯静态”),设置网站根目录等信息,点击 “提交” 完成站点创建。
在 “网站” 列表中找到要设置反向代理的站点,点击其右侧的 “设置” 按钮。
在弹出的站点设置窗口中,点击 “配置文件” 选项卡,这里可以编辑 Nginx 的配置文件。
在配置文件中添加反向代理规则,示例如下:
1
2
3
4
5
6
7
8
9
10
11
12
server {
listen 80;
server_name yourdomain.com; # 替换为你的域名
server_name yourdomain.com;
# 替换为你的域名
location / {
proxy_pass http://backend_server_ip:port; # 替换为后端服务器的IP地址和端口
proxy_pass http:
//backend_server_ip
:port;
# 替换为后端服务器的IP地址和端口
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;
}
规则解释:
server_name:填写你的网站域名。
server_name
proxy_pass:指定后端服务器的地址和端口。例如,后端服务器 IP 是192.168.1.100,端口是8080,则应写成http://192.168.1.100:8080。
proxy_pass
192.168.1.100
8080
http://192.168.1.100:8080
proxy_set_header:用于设置请求头信息,将客户端的真实 IP、域名等信息传递给后端服务器。
proxy_set_header
编辑完成后,点击 “保存” 按钮,使配置生效。
如果你的网站使用 HTTPS 协议,需要为反向代理配置 SSL 证书。
在站点设置窗口中,点击 “SSL” 选项卡。
可以选择免费的 Let's Encrypt 证书,点击 “申请” 按钮,按照提示完成证书申请和安装。
申请成功后,修改 Nginx 配置文件,添加 SSL 相关配置:
13
14
15
listen 443 ssl;
ssl_certificate /path/to/cert.pem; # 替换为证书文件路径
ssl_certificate
/path/to/cert
.pem;
# 替换为证书文件路径
ssl_certificate_key /path/to/privkey.pem; # 替换为私钥文件路径
ssl_certificate_key
/path/to/privkey
# 替换为私钥文件路径
配置完成后,为了使新的配置生效,需要重启 Nginx 服务。
在宝塔面板左侧菜单栏点击 “软件商店”,找到 Nginx,点击其右侧的 “设置” 按钮。
在弹出的窗口中,点击 “重载配置” 或 “重启” 按钮。
完成以上步骤后,当用户访问你的域名时,请求会通过 Nginx 反向代理到后端服务器,从而隐藏了后端服务器的真实 IP。
文章
人气
评论
粉丝
已有 0 条评论