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.confserver {? ? 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;????????}}