当前位置: 首页 > news >正文

Linux在web下http加密和配置虚拟主机及动态页面发布

web服务器的数据加密

1.简介:由于http协议以明文方式发送,不提供任何方式的数据加密,也不适合传输一些重要的信息,如银行卡号、密码等,解决该缺陷设计了安全套接字层超文本传输协议https;

2.https的握手流程:一方为客户端,一方为服务端,客户端首先与服务端建立对话确认双方回应有效,发送Client Hello,包含TLS版本的加密套件,同时发布第一随机数;服务端接收到后向客户端发送Server Hello,包含TLS版本的加密套件,同时发布第二随机数,这时双方都有第一和第二随机数;服务端向客户端发送两条密钥,一条为公钥,一条为私钥;客户端接受到后做出对公钥的加密,并发送第三随机数,也就是该预主密钥(Client Key Exchange,Change Ciper Spec,Encrypted Handshake Message),这时双方同时拥有预主密钥,该握手建立,生成会话密钥建立联系。

3.nginx中配置https虚拟主机

安全加密过程

建立目录 ---mkdir /etc/nginx/certs

生成证书命令 ---openssl req -newkey rsa:2028 -nodes -sha256 -keyout /etc/nginx/certs/branh.org.key -x509 -days 365 -out /etc/nginx/certs/branh.org.crt

建立虚拟主机 ---cd /etc/nginx/conf.d 进入到conf.d

书写配置文件 ---vim /vhosts.conf

火墙放行 ---firewall-cmd --permanent --add-service=http

firewall-cmd --reload

强制访问加密

vim vhosts.conf ---编辑文件

server {

        server_name login.branh.org;

        rewrite ^/(.*)$ https://login.branh.org/$1 permanent;

}

^/(.*)$ ---表达式语法表示匹配浏览器地址栏中的所有内容

$1 ---地址保留xxx

permanent ---表示永久转换301.否则为302,临时的

4.搭建动态网站:通过数据库进行架构,动态网站除了设计网页外,还要通过数据库和程序来来使网站具有更多自动的和高级的功能;动态网页使用网页脚本语言,比如php、jsp等将内容动态存储到数据库,用户访问网站是通过读取数据库来动态生成网页的方法。

生成php测试页

mkdir -p /usr/share/nginx/html/php

vim /usr/share/nginx/html/php/index.php

内容如下

<?php

        phpinfo()

?>

查找php包 --- dnf search php

安装php包 --- dnf install php.86_64 -y

进入conf.d里查找是否有php的配置文件

直接刷新nginx -s reload

软件包以及新文件要对其进行服务开启 systemctl enable --now php-fpm.service

配置web服务器对php页面的发布
编辑文件 vim php-fpm.conf
server {
    listen 80;
    server_name localhost;
    location ~ \.php$ {
                root /usr/share/nginx/html/php;
                fastcgi_pass unix:/run/php-fpm/www.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

相关文章:

  • Visual Studio Code 前端项目开发规范合集【推荐插件】
  • 《React Native与Flutter:社交应用中用户行为分析与埋点统计的深度剖析》
  • React Hooks:从“这什么鬼“到“真香“的奇幻之旅
  • 卡尔曼滤波算法简介与 Kotlin 实现
  • 202535| Kafka架构与重要概念+幂等性+事务
  • FreeSWITCH 简单图形化界面42 - 使用mod_vad模块进行语音检测
  • 可以抛弃postman啦, API测试工具Bruno实用教程(二):进阶篇
  • 高斯过程回归(GPR)原理的通俗解释
  • 从 SpringBoot 到微服务架构:Java 后端开发的高效转型之路
  • 5.2 参数管理
  • vue3的响应式设计原理
  • Tengine:高性能Web服务器的原理与应用实践优雅草卓伊凡
  • 通俗的桥接模式
  • 如何安装不同版本的ESP-IDF,并配置Vscode插件,以及在Vscode中切换版本
  • Linux:进程间通信---消息队列信号量
  • Linux 信号终篇(总结)
  • HTTP/3展望、我应该迁移到HTTP/2吗
  • LeetCode 270:在二叉搜索树中寻找最接近的值(Swift 实战解析)
  • 从父类到子类:C++ 继承的奇妙旅程(2)
  • LinkedList源码解析
  • 经济日报金观平:充分发挥超大规模市场优势
  • 巴基斯坦总理:希望通过和平对话方式解决与印方问题
  • 未来之城湖州,正在书写怎样的城市未来
  • 会计江湖|年报披露关注什么:独董给出的“信号”
  • 新修订的《婚姻登记条例》明起施行,领证不用户口本了
  • 北外滩集团21.6亿元摘上海虹口地块,为《酱园弄》取景地