nginx配置防止其他网站盗链本网站资源
时间: 2023-06-30 14:06:21 浏览: 57
可以通过以下步骤来防止其他网站盗链本网站资源:
1. 打开 Nginx 配置文件,通常位于 /etc/nginx/nginx.conf。
2. 在 http 区块中添加以下代码:
```
map $http_referer $ref {
default 0;
" " 0;
"~*example.com" 1;
}
server {
...
location / {
if ($ref = 0) {
return 403;
}
...
}
...
}
```
3. 在这个例子中,`example.com`是您的网站域名,只有来自该域名的请求才会被允许访问资源。如果请求来源不是该域名,将返回 403 错误。
4. 重新加载 Nginx 配置文件,以使更改生效:`sudo service nginx reload`。
这样配置后,只有来自您的网站的请求才能访问资源,其他网站将无法直接链接到您的资源。
相关问题
nginx配置域名访问网站
当使用Nginx作为Web服务器时,可以通过配置域名来实现网站的访问。下面是一个简单的示例配置:
1. 首先,确保你已经安装了Nginx并且配置文件的路径为`/etc/nginx/nginx.conf`。
2. 打开配置文件,找到`http`块,并在其中添加一个新的`server`块来配置域名访问。例如,假设你的域名是`example.com`,你可以这样配置:
```
http {
...
server {
listen 80;
server_name example.com;
location / {
root /path/to/your/website;
index index.html;
}
}
...
}
```
在上面的配置中,我们使用`server_name`指令指定了要匹配的域名,使用`listen`指令指定了监听的端口(这里是80端口,即HTTP默认端口)。
3. 在`location`块中,我们指定了网站文件的根目录和默认的索引文件。在上面的示例中,网站文件的根目录是`/path/to/your/website`,默认索引文件是`index.html`。
4. 保存并关闭配置文件。
5. 重新加载Nginx配置,使其生效。可以使用以下命令来完成:
```
sudo nginx -s reload
```
现在,当用户访问`example.com`时,Nginx将会将请求转发到指定的网站文件根目录,并返回相应的内容。
nginx设置网站密码
要设置nginx网站密码,可以按照以下步骤操作:
1. 创建一个密码文件,用于存储用户名和密码。可以使用htpasswd工具来创建密码文件。在Ubuntu上,可以使用以下命令来安装htpasswd:
```shell
sudo apt-get update
sudo apt-get install apache2-utils
```
2. 使用htpasswd创建密码文件。例如,使用以下命令创建一个名为“passwords”的密码文件,并添加一个名为“user”的用户:
```shell
sudo htpasswd -c /etc/nginx/passwords user
```
3. 在nginx配置文件中添加以下内容,以限制访问网站:
```shell
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/passwords;
...
}
```
这将限制访问网站,并要求用户输入用户名和密码。用户名和密码将被验证,并且只有在验证通过后才能访问网站。
4. 重新加载nginx配置文件:
```shell
sudo systemctl reload nginx
```
现在,访问网站时将要求输入用户名和密码。