Nginx设置只能由域名访问
时间: 2024-09-10 17:28:59 浏览: 141
Nginx配置80端口访问8080及项目名地址方法解析
Nginx是一种流行的开源Web服务器和反向代理服务器,它可以用于限制只允许特定域名访问你的站点。为了实现这一点,你需要在Nginx的配置文件(通常位于`/etc/nginx/nginx.conf` 或者在虚拟主机配置文件如`server {}`块内)中进行一些设置。
下面是一个基本的例子,假设你要限制`example.com`和`www.example.com`两个域名访问:
```nginx
server {
listen 80; # 或者监听https协议,如 listen 443 ssl;
server_name example.com www.example.com;
location / {
if ($host !~* "(^|.)example\.com$|^www\.example\.com$") {
return 403; # 返回403 Forbidden错误
}
root /var/www/example.com/public; # 你的网站目录
index index.html index.htm;
# 其他配置...
}
# 可能需要的其他配置,比如SSL配置、日志等
}
```
在这个例子中,`if`指令检查请求的主机是否匹配指定的域名。如果不匹配,则返回403状态码,表示禁止访问。
如果你有多个域名需要限制,可以在`server_name`行下列出它们,并相应地修改`if`条件。
阅读全文