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

发布于:2025-05-11 ⋅ 阅读:(22) ⋅ 点赞:(0)

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;
        }
}

网站公告

今日签到

点亮在社区的每一天
去签到