编程语言
首页 > 编程语言> > nginx怎么 配置只能通过域名访问,不能通过ip访问

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 访问。

标签:
来源: