前言
本文主要講解如何快速搭建一個https網頁文件服務器,并免費申請權威機構頒發的tls證書。

5分鐘搭建公網https網頁文件服務器,免費權威TLS證書
最終成果:
通過瀏覽器打開指定網頁,可以瀏覽和下載頁面上的文件,并且通過tls協議加密傳輸。
部署前提條件:
- 帶公網IP的服務器
- 熟悉基本的命令行操作
- 具有相關域名的DNS控制,可以做域名與IP地址的映射
- 具有系統的root賬號權限
組件介紹:
- centos 7.X 操作系統
- ngnix:Nginx是一款面向性能設計的HTTP服務器,也可以用作反向代理、負載平衡器和HTTP緩存。
- Python2-certbot-nginx:用于申請和管理免費的tls數字證書
安裝步驟
2.1 安裝相關組件
安裝epel倉庫,刷新本地緩存
yum -y install epel-release && yum -y update
安裝nginx和certbot證書管理組件,申請免費tls就用它
yum -y install nginx python2-certbot-nginx
2.2 設置開機自啟動nginx服務
systemctl enable nginx
輸出結果:
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

設置開機自啟動nginx服務
2.3 創建測試用的文件和目錄
mkdir /usr/share/nginx/files
touch /usr/share/nginx/files/test.txt
2.4 編寫nignx虛擬主機配置文件
vi /etc/nginx/conf.d/file_server.conf
添加以下內容:
server {
listen 80;
server_name files.example.com;
charset utf-8;
root /usr/share/nginx/files;
location / {
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
}

編寫nignx虛擬主機配置文件
2.5 CentOS用戶需要配置防火墻開放相關端口
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
2.6 配置SElinux
restorecon -RvF /usr/share/nginx/
2.7 申請Let's Encrypt免費tls證書
certbot --nginx
按下圖提示操作即可:

執行certbot程序申請Let's Encrypt免費tls證書
如果看到以下提示,則表明已經成功申請Let's Encrypt免費tls證書

成功申請Let's Encrypt免費tls證書
檢查
cat /etc/nginx/conf.d/file_server.conf
可以看到certbot已經把配置文件修改適配為https。
nginx -t
輸出以下結果表示通過測試:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

測試nginx配置
2.8 開啟nginx服務
systemctl start nginx.service
2.9 瀏覽器上作最終測試
瀏覽器上打開域名后,應該可以看到以下內容,并且留意這是一個https連接:

瀏覽器上作最終測試
2.10 每90天重新申請tls證書
免費的https證書每隔90天要更新一次,90天后執行以下命令更新證書,或者寫成crontab計劃任務自動更新。
certbot renew
3. 總結
通過本文,您應該學會如何快速配置一臺https加密網頁文件分享服務器了嗎?使用nginx和tls證書可以提供標準的https網頁文件分享服務。本文也簡單介紹了如何申請免費的TLS證書,該證書由Let's Encrypt機構頒發。
本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:
https://www.linuxrumen.com/fwqdj/1829.html
點擊了解更多,快速查看更多的技術文章列表。