任务一、配置nginx图片防盗链
步骤1:配置盗链网站
1)启动nginx容器,设置端口映射,并进入容器
docker run -d --privileged -p 80:80 -p 443:443 nginx /usr/sbin/init
2)在nginx容器中准备两个网站,编辑/etc/nginx/nginx.conf文件
server {
listen 80;
server_name site1.test.com;
root /var/www/html/site1;
index index.html;
}
server {
listen 80;
server_name site2.test.com;
root /var/www/html/site2;
index index.html;
}
3)在主机编辑hosts文件
虚拟机的IP地址 site1.test.com
虚拟机的IP地址 site2.test.com
4)创建/var/www/html/site1/index.html,展示自己的图片
<h1>welcome to site1</h1>
<img src=”1.jpg”>
在/var/www/html/site1/下将已准备好的图片改名为1.jpg
5)创建/var/www/html/site2/index.html,盗用site1的图片
<h1>welcome to site2</h1>
<img src=”http://site1.test.com/1.jpg”>
6)在主机分别访问 site1.test.com 、site2.test.com
步骤2:配置site1.test.com防盗链
1)在nginx容器中编辑/etc/nginx/nginx.conf文件,配置防盗链
server {
listen 80;
server_name site1.test.com;
location / {
root /var/www/site1;
index index.html index.htm;
}
location ~ \.(jpg|png|gif)$ {
valid_referers site1.test.com;
if ($invalid_referer) {
return 403;
}
}
}
server {
listen 80;
server_name site2.test.com;
location / {
root /var/www/site2;
index index.html index.htm;
}
}
2)重启nginx,并在主机分别访问 site1.test.com 、site2.test.com
如果发现没有改变,可以清理一下浏览器缓存解决问题。
任务二、配置nginx的HTTPS网站
步骤1:颁发网站认证证书
1)在nginx容器中检查系统安装了openssl
rpm -qa |grep openssl
2)建立/etc/nginx/ssl目录,并生成服务器RSA私钥
openssl genrsa -out server.key 2048
查看server.key的内容
4)生成服务器CSR证书请求文件,注意站点名称要一致
openssl req -new -key server.key -out server.csr
查看证书请求文件的内容
6)生成服务器认证证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
查看服务器证书
步骤2:配置HTTPS网站
- 在主机编辑hosts文件,并使用ping命令检查
虚拟机的IP地址 www.test.com
2)编辑/etc/nginx/nginx.conf文件,配置HTTPS站点
server {
listen 443;
server_name www.test.com;
root /var/www/html;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
location / {
index index.html;
}
}
3)编辑 /var/www/html/index.html,重载nginx
<h1>this is https site!!</h1>
4)重载nginx,在主机使用浏览器访问 https://www.test.com
5)在浏览器中查看网站证书