nginx怎么 配置只能通过域名访问,不能通过ip访问
作者:互联网
要配置 Nginx 使其只能通过域名访问,而不能通过 IP 地址访问,你可以使用以下方法来进行配置:
1. 创建或编辑 Nginx 配置文件
首先,打开你的 Nginx 配置文件。通常这些文件位于 /etc/nginx/sites-available/
目录中。在此目录中,你可以创建一个新的配置文件或者编辑已有的配置文件。
例如,编辑 default
配置文件:
sudo nano /etc/nginx/sites-available/default
Bash
2. 配置 Nginx
在配置文件中,你需要添加一个服务器块来处理通过域名的请求,以及一个服务器块来处理 IP 请求并返回 403 Forbidden 或其他错误页面。
以下是配置示例:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com; # 替换为你的域名
location / {
# 你的站点配置
proxy_pass http://localhost:3000; # 示例反向代理
# 其他配置
}
}
server {
listen 80 default_server; # 默认处理 IP 请求
location / {
return 403; # 返回403 Forbidden
}
}
nginx
3. 检查配置
在完成配置后,检查 Nginx 配置是否有误:
sudo nginx -t
Bash
如果配置正确,你应该会看到类似“syntax is ok”和“test is successful”的消息。
4. 重新加载 Nginx
如果配置没有错误,重新加载 Nginx 以应用更改:
sudo systemctl reload nginx
Bash
5. 验证
现在,你可以通过域名访问你的站点,而尝试使用 IP 地址访问时应该会返回 403 Forbidden 错误。
6. 可选:启用 HTTPS
如果你希望通过 HTTPS 访问你的域名,建议使用 Let's Encrypt 来申请免费的 SSL 证书,并在 Nginx 配置中进行相应的修改。可以参考 Certbot 的文档获取有关设置 HTTPS 的详细信息。
通过上述步骤,你可以设置 Nginx 确保只能通过特定域名访问你的站点,防止直接通过 IP 访问。
标签: 来源: