ubunt使用nginx搭建https文件服务器
程序员文章站
2022-04-30 23:34:44
...
背景
WIFI设备要调试文件上传和下载,考虑到http的下安全下,决定使用https通信方式,http测试的话,windows下可以直接安装hfs软件进行测试,这里不多做展开
作者只是把自己学习调试的过程记录下来,给大家参考,如有异议,请指正
Ubuntu下搭建nginx
本人使用的是18.04.4 LTS版本,我参考的是nginx来快速搭建,当然也可以通过 Apache来配置https服务器
1. 安装nginx:默认安装路径在/usr/share/nginx
sudo apt-get install nginx
安装完成后,web的http服务器默认就会生效,打开浏览器可以查看
PS:要先查看下自己系统的IP地址,通过ifconfig查看,80端口被占用
2. 制作证书
PS:这里要提前确认下是否已经安装了openssl,可以使用openssl version命令查看
openssl version
OpenSSL 1.1.1 11 Sep 2018
如果系统还未安装openssl,请参考博文
- 创建存放**路径:先进入nginx安装的目录
cd /usr/share/nginx
sudo mkdir conf
cd conf
- 创建私钥:提示输入服务器密码就用默认的123456就可以
openssl genrsa -des3 -out server.key 1024
- 创建证书:证书提到的名称可以按照自己的情况进行填写
openssl req -new -key server.key -out server.csr
- 加载SSL支持的Nginx
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
- 标记证书:使用制作好的私钥和CSR
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
- 查看文件
ls -l
如下文件
drwxr-xr-x 2 root root 4096 4月 1 15:21 ./
drwxr-xr-x 4 root root 4096 4月 1 15:05 ../
-rw-r--r-- 1 root root 879 4月 1 15:21 server.crt
-rw-r--r-- 1 root root 725 4月 1 15:12 server.csr
-rw-r--r-- 1 root root 887 4月 1 15:19 server.key
-rw-r--r-- 1 root root 963 4月 1 15:19 server.key.org
修改环境变量:这一步很关键,打开/etc/nginx/nginx.conf
建议先进行备份, cp nginx.conf nginx.backup_conf
使用vim命令增加443 httpd服务,在http中加入,服务器名称可以自己修改
server{
server_name my_test;
listen 443;
root /usr/share/nginx;
autoindex on;
ssl on;
ssl_certificate /usr/share/nginx/conf/server.crt;
ssl_certificate_key /usr/share/nginx/conf/server.key;
}
重新启动nginx服务:如果启动失败,可通过查看日志命令查看systemctl status nginx.service
service nginx start
google浏览器打开时会提示证书不安全,我们直接跳过即可
创建调试目录:在usr/share/nginx/conf下新建个目录用来做测试路径
cd /usr/share/nginx/conf/
mkdir uploadfile
sudo touch test.txt
打开浏览器进行测试查看,选中文件即可进行下载
最后补充下,我是在虚拟机下跑得ubuntu系统,那么要要在虚拟机中把网络配置成桥接模式,才能在局域网中被其他电脑进行访问