配置 Web 服務器練習

一、要求

1.通過https://ip 可以訪問到網站首頁

2.通過 https://ip/private/ 實現用戶訪問控制,僅允許已經添加的 tom,jerry 能夠訪問到 private 子路徑的界面

3.通過 https://ip/vrit/ 實現能夠訪問到將系統 /nginx/virt 目錄下的網頁文件(/nginx/virt/index.html)?

二、實驗

1.通過https://ip 可以訪問到網站首頁

① 首先關閉防火墻以及 selinux

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

② 啟動 nginx 程序發現顯示未找到 nginx.service,在下載 nginx 軟件包之前需先進行編輯?yum 源配置文件以及掛載磁盤操作

[root@localhost ~]# vim /etc/yum.repos.d/base.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.

③ 下載 nginx 軟件包并啟動

[root@localhost ~]# dnf install nginx -y
[root@localhost ~]# systemctl start nginx

④ 編輯 nginx 配置文件,添加 server 模塊

[root@localhost ~]# vim /etc/nginx/conf.d/ip.conf

⑤ 按照配置文件創建資源文件

[root@localhost ~]# mkdir -pv /www
mkdir: 已創建目錄 '/www'
[root@localhost ~]# echo this is www > /www/index.html   # 寫入內容

⑥?使用?openssl?工具創建一個新的 RSA 私鑰,并生成一個基于該私鑰的自簽名 X509 證書,用于加密網絡通信(通常用于網站啟用 HTTPS 協議)。以下信息可隨意填寫,注意“陜西為shaanxi”

[root@localhost ~]# openssl req -newkey rsa:4096  -nodes -keyout  /etc/pki/tls/private/openlab.key -x509 -days 365 -out /etc/pki/tls/certs/openlab.crt 

⑦?重啟服務,提供信息響應(加載新的配置)

[root@localhost ~]# systemctl restart nginx
[root@localhost ~]# curl https://192.168.96.142 -k  # 加k表示在進行 HTTPS 請求時,跳過對服務器 SSL/TLS 證書的驗證

2.通過 https://ip/private/ 實現用戶訪問控制,僅允許已經添加的 tom,jerry 能夠訪問到 private 子路徑的界面

① 修改 nginx 配置,添加 location 模塊

[root@localhost ~]# vim /etc/nginx/conf.d/ip.conf

② 按照配置文件創建資源文件

[root@localhost ~]# mkdir -pv /private
mkdir: 已創建目錄 '/private'
[root@localhost ~]# echo this is private > /private/index.html

③ 先進行磁盤掛載,在進行下載操作

[root@localhost ~]# mount /dev/sr0 /mnt     # 磁盤掛載
[root@localhost ~]# yum provides htpasswd     # 查詢htpasswd軟件包提供了指定的文件
[root@localhost ~]# yum install httpd-tools    # 下載httpd-tools軟件包

④ 更新 HTTP 基本認證的用戶密碼文件

[root@localhost ~]# htpasswd -c /etc/nginx/users tom
New password: 
Re-type new password: 
Adding password for user tom
[root@localhost ~]# htpasswd /etc/nginx/users jerry
New password: 
Re-type new password: 
Adding password for user jerry

⑤ 重啟程序并測試結果

[root@localhost ~]# systemctl restart nginx
[root@localhost ~]# curl https://192.168.96.142/private/ -u tom -k
[root@localhost ~]# curl https://192.168.96.142/private/ -u jerry -k

3.通過 https://ip/vrit/ 實現能夠訪問到將系統 /nginx/virt 目錄下的網頁文件(/nginx/virt/index.html)?

① 編輯 nginx 配置文件

[root@localhost ~]# vim /etc/nginx/conf.d/ip.conf

②?按照配置文件創建資源文件

[root@localhost ~]# mkdir -pv /nginx/virt
mkdir: 已創建目錄 '/nginx/virt'
[root@localhost ~]# echo this is virt > /nginx/virt/index.html

③ 重啟程序并測試結果

[root@localhost ~]# systemctl restart nginx
[root@localhost ~]# curl https://192.168.96.142/virt/ -k

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/79464.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79464.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79464.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL索引詳解(下)(SQL性能分析,索引使用)

索引是MySQL性能優化的核心,但如何精準分析查詢瓶頸、合理設計索引,是開發者必須掌握的技能。本文結合實戰案例,系統講解SQL性能分析工具鏈與索引使用技巧,幫助讀者構建高性能數據庫系統。 一、SQL性能分析:從宏觀到微…

招行數字金融挑戰賽數據賽道賽題一

賽題描述:根據提供的用戶行為數據,選手需要分析用戶行為特征與廣告內容的匹配關系,準確預測用戶對測試集廣告的點擊情況,通過AUC計算得分。 得分0.6120,排名60。 嘗試了很多模型都沒有能夠提升效果,好奇大…

ORB-SLAM3和VINS-MONO的對比

直接給總結,整體上orbslam3(僅考慮帶imu)在初始化階段是松耦合,localmap和全局地圖優化是緊耦合。而vins mono則是全程緊耦合。然后兩者最大的區別就在于vins mono其實沒有對地圖點進行優化,為了輕量化,它一…

安裝typescript時,npm install -g typescript報錯

刪除C:\Users\用戶\下的.npmrc文件,如果你的沒有,看是不是因為將隱藏的項目勾選上了,然后去掉勾選。 重新輸入

[GESP202503 四級] 二階矩陣c++

題目描述 小 A 有一個 n 行 m 列的矩陣 A。 小 A 認為一個 22 的矩陣 D 是好的,當且僅當 。其中 表示矩陣 D 的第 i 行第 j 列的元素。 小 A 想知道 A 中有多少個好的子矩陣。 輸入 第一行,兩個正整數 n,m。 接下來 n 行,每行 m 個整數…

基于flask+pandas+csv的報表實現

基于大模型根據提示詞去寫SQL執行SQL返回結果輸出報表技術上可行的,但為啥還要基于pandas去實現呢? 原因有以下幾點: 1、大模型無法滿足實時性輸出報表的需求; 2、使用大模型比較適合數據量比較大的場景,大模型主要…

Java學習筆記(對象)

一、對象本質 狀態(State):通過成員變量(Field)描述 行為(Behavior):通過成員方法(Method)實現 class Person {String name;int age;void eat() {System.o…

Qt學習Day0:Qt簡介

0. 關于Qt Qt是C的實踐課,之前在C中學習的語法可以有具體的應用場景。Qt的代碼量很大,不要死記硬背,學會查詢文檔的能力更加重要。 建議提升一下相關單詞的儲備量: 1. Qt是什么? Qt是一個基于C語言的圖形用戶界面&a…

React知識框架

一、核心概念 1. 組件化開發 核心思想:將 UI 拆分為獨立、可復用的組件(函數組件/類組件)。組件特性:props(接收參數)、state(組件狀態)、生命周期(類組件特有&#xf…

Django之賬號登錄及權限管理

賬號登錄及權限管理 目錄 1.登錄功能 2.退出登錄 3.權限管理 4.代碼展示合集 這篇文章, 會講到如何實現賬號登錄。賬號就是我們上一篇文章寫的賬號管理功能, 就使用那里面已經創建好的賬號。這一次登錄, 我們分為三種角色, 分別是員工, 領導, 管理員。不同的角色, 登錄進去…

[學習]RTKLib詳解:convkml.c、convrnx.c與geoid.c

本文是 RTKLlib詳解 系列文章的一篇,目前該系列文章還在持續總結寫作中,以發表的如下,有興趣的可以翻閱。 [學習] RTKlib詳解:功能、工具與源碼結構解析 [學習]RTKLib詳解:pntpos.c與postpos.c [學習]RTKLib詳解&…

java 破解aspose.words 18.6 使用

資源包&#xff1a;https://download.csdn.net/download/qq_36598111/90787167 jar包是破解過的&#xff0c;直接可以使用。 引入jar&#xff0c;要引入本地的&#xff0c;不要直接引入倉庫的 <dependency><groupId>com.aspose</groupId><artifactId>…

vue使用rules實現表單校驗——校驗用戶名和密碼

編寫校驗規則 常規校驗 const rules {username: [{ required: true, message: 請輸入用戶名, trigger: blur },{ min: 5, max: 16, message: 長度在 5 到 16 個字符, trigger: blur }],password: [{ required: true, message: 請輸入密碼, trigger: blur },{ min: 5, max: 1…

寶塔服務安裝使用的保姆級教程

寶塔介紹&#xff1a; 寶塔面板&#xff08;BT Panel&#xff09; 是一款 國產的服務器運維管理面板&#xff0c;主要用于簡化 Linux/Windows 服務器的網站、數據庫、FTP、防火墻等管理操作。它通過圖形化界面&#xff08;Web端&#xff09;和命令行工具&#xff08;bt 命令&a…

數字化轉型-4A架構之數據架構

4A架構系列文章 數字化轉型-4A架構&#xff08;業務架構、應用架構、數據架構、技術架構&#xff09; 數字化轉型-4A架構之業務架構 數字化轉型-4A架構之應用架構 數字化轉型-4A架構之數據架構 數字化轉型-4A架構之技術架構 數據架構 Data Architecture&#xff08;DA&…

每日腳本 5.11 - 進制轉換和ascii字符

前置知識 python中各個進制的開頭 二進制 &#xff1a; 0b 八進制 &#xff1a; 0o 十六進制 : 0x 進制轉換函數 &#xff1a; bin() 轉為2進制 oct() 轉換為八進制的函數 hex() 轉換為16進制的函數 ascii碼和字符之間的轉換 &#xff1a; chr(97) 碼轉為字符 …

Vulnhub Lazysysadmin靶機攻擊實戰(一)

導語 ??靶機下載地址 https://download.vulnhub.com/lazysysadmin/Lazysysadmin.zip ??靶機信息地址 https://www.vulnhub.com/entry/lazysysadmin-1,205/ 文章目錄 信息收集掃描路徑提權其他思路探索其他方式找密碼總結下載安裝好靶機之后啟動虛擬機如下所示。 信息收集 我…

【DB2】DB2啟動失敗報錯SQL1042C

在本地某次啟動db2時報錯SQL1042C&#xff0c;具體報錯如下 [db2inst1standby ~]$ db2start 05/07/2025 16:32:53 0 0 SQL1042C An unexpected system error occurred. SQL1032N No start database manager command was issued. SQLSTATE57019在網上百度到說是需要…

Python中的re庫詳細用法與代碼解析

目錄 1. 前言 2. 正則表達式的基本概念 2.1 什么是正則表達式&#xff1f; 2.2 常用元字符 3. re庫的適應場景 3.1 驗證用戶輸入 3.2 從文本中提取信息 3.3 文本替換與格式化 3.4 分割復雜字符串 3.5 數據清洗與預處理 4. re庫的核心功能詳解 4.1 re.match()&#…

藍橋杯2025年第十六屆省賽真題-水質檢測

C語言代碼&#xff1a; #include <stdio.h> #include <string.h>#define MAX_LEN 1000000int main() {char a[MAX_LEN 1], b[MAX_LEN 1];// 使用 scanf 讀取字符數組scanf("%s", a);scanf("%s", b);int ans 0;int pre -1;int state -1;i…