Nginx跳转功能及HTTPS

Nginx跳转功能及HTTPS

一、数据库独立服务器安装

1.作用

  • 保证多台web服务器请求到的数据是一样的
  • 数据库独立支持数据安全配置

2.实现站库分离

#克隆虚拟机
#安装mariadb
yum install mariadb-server -y
#启动
systemctl start mariadb
#数据库默认不允许远程登录的
mysqladmin password 123
mysql -uroot -p123
grant all on *.* to root@'%' identified by '123';

#搭建可道云

3.已存在的项目做数据库分离

1.数据迁移
#旧库导出数据
mysqldump -uroot -p123 -A >full.sql
#将full.sql传输到数据库所在服务器
scp full.sql 10.0.0.51:/root/
#数据库服务器导入数据
mysql -uroot -p123 <full.sql
##数据库授权远程访问
grant all on *.* to root@'%' identified by '123';

2.修改项目链接的数据库配置信息
vim /html/wordpress/wp-config.php
define('DB_HOST', '10.0.0.51');

二、php存储session的命令

1.phpmyadmin项目

是一个数据库的连接器,必须能够保持页面登录状态

2.服务端php实现储存session

方式一:通过文件实现储存session

/var/opt/remi/php72/lib/php/session 
chown -R nginx.nginx /var/opt/remi/php72/lib/php/session

方式二:通过redis存储session

1.db主机安装redis
yum install redis -y
2.配置redis
vim /etc/redis.conf 
61 bind 127.0.0.1 10.0.0.51
3.启动redis
systemctl start redis
4.测试登录redis
redis-cli -h 10.0.0.51
5.web服务端配置php通过redis储存session
前提:php必须安装连接redis插件
php72-php-pecl-redis.x86_64

vim /etc/opt/remi/php72/php-fpm.d/www.conf

php_value[session.save_handler] = redis									#存储session的方式
php_value[session.save_path]    = "tcp://10.0.0.51:6379"				#
6.重启
systemctl restart php72-php-fpm.service
7.redis查看session
redis-cli -h 10.0.0.51
keys *

三、页面跳转

1.return

2.rewrite跳转

rewrite 用户访问的uri路径 跳转的新路径 跳转策略

#跳转策略
last		#每次跳转重新发起请求
break		#每次跳转先检查目录结构,如果有直接发起请求

permanent	#永久重定向 301
redirect	#临时重定向 302

#实验
location.dms.com/michael break location.dms.com/status
location.dms.com/qiangge last location.dms.com/status
	#nginx配置跳转
location /michael {
        rewrite /michael /status break;
}

location /qiangge {
        rewrite /qiangge /status last;
}

案例2:实现return页面跳转功能
location.dms.com/admin  --> location.dms.com

location /admin {
    rewrite /admin  http://location.dms.com break;
}

3.rewrite实现伪静态应用

1.什么是伪静态

让一个动态的url伪装成静态的url,通过静态的url实际上访问到动态的资源

2.作用

1.网络运营/网络推广

百度竞价:购买了关键字,将关键字绑定到url中。要求URL不能总是发生变化,尽量是静态的URL

2.通过伪静态技术一定程度的屏蔽一些渗透工具的扫描

3.伪静态的实现思路
http://wordpress.dms.com/?p=1
1.设计请求的静态URL
http://wordpress.dms.com/p/1.html
2.通过rewrite实现静态URL跳转到真实的动态URL上
location ^~ /p {
	rewrite /p/1.html http://wordpress.dms.com/?p=1 redirect;
	rewrite /p/1.html /?p=1 break;
}
#支持正则表达式
rewrite /p/(.*).html /?p=$1 break;

四、https协议

1.介绍

HTTPS 安全的超文本传输协议

2.http存在的问题

  1. 明文传输
    解决:数据加密。hash算法加密
  2. 无法确认数据包完整性
    解决:通过md5校验解决
  3. 无法确认身份的
    解决:ssh密钥对

3.md5加密与解密

md5sum 2.txt >check	#输出校验码
md5sum -c <check	#检查校验码	

4.HTTPS的证书

证书:由国际组织 Certum、‌Sectigo、‌DigiCert、‌Globalsign、‌GeoTrust
需要绑定相应域名的

证书的构成

  • 根证书(CA证书):签发机构的信息,域名信息,有效期,授权机构的信息,随机码
  • 私钥
  • 公钥

5.HTTPS原理

731839b95550fff38ebe64d3cfd040de

6.自己签发证书

# 自签发证书
	# 安装自签发证书工具
	yum install openssl -y
	
	# 生成私钥
	##创建证书目录
	mkdir /usr/local/nginx/conf/ssl -p
	(umask 077;openssl genrsa -out /usr/local/nginx/conf/ssl/private.pem 4096)

	# 根据私钥生成公钥
	openssl rsa -in /usr/local/nginx/conf/ssl/private.pem  -pubout  -out /usr/local/nginx/conf/ssl/key.pem
	
	# 根据私钥生成ca证书
	openssl req -new -x509 -key /usr/local/nginx/conf/ssl/private.pem -out /usr/local/nginx/conf/ssl/ca.crt -days 36500
	
	#查看证书内容及有效期
	openssl x509 -in /usr/local/nginx/conf/ssl/ca.crt -noout -text  # 证书内容
	openssl x509 -in /usr/local/nginx/conf/ssl/ca.crt -noout -dates # 有效期

7.nginx部署证书

server {
   listen 443 ssl;
   server_name phpmyadmin.dms.com;
   root /html/phpmyadmin;
   index index.html index.php;
   ssl_certificate  ./ssl/ca.crt;
   ssl_certificate_key ./ssl/private.pem;

   location ~ \.php$ {
     fastcgi_pass 127.0.0.1:9000;
     fastcgi_index index.php;
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;
   }
}

server {
	listen 80;
	server_name phpmyadmin.dms.com;
	
	location / {
		return https://phpmyadmin.dms.com$uri;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值