[Linux] 从外网访问内网硬盘

目的

实现一个由nginx的文件访问系统,并且是用户加密验证的。

安装和配置nginx

安装

利用官方给出的地址,可以安装nginx.
开启的文件位于 /etc/init.d/nginx,请注意,这个和nginx官网介绍的路径不一样。
你可以使用下述命令,控制nginx的开启,等等:

sudo etc/init.d/nginx -s signal

signal可以是:

  • stop — fast shutdown
  • quit — graceful shutdown
  • reload — reloading the configuration file
  • reopen — reopening the log files

配置

默认的总配置路径是 /etc/nginx/nginx.conf
如果你打开这个文件,会发现里面有一个

include etc/nginx/sites_enabled/*

它是用来读取sites_enabled里面的config文件的。

而sites_enabled文件夹中的配置都是链接,链接到sites_available文件夹里面的config文件。
因此,为了避免问题的出现,请直接修改sites_available/中的配置文件

我的配置方式:

location /files {
    alias /home/pi/share/; # 最后的 / 很重要
    index index.html; # 如果由index.html会读取html文件
    autoindex on;
    autoindex_exact_size off;
}

然后使用下面的命令重新加载配置。

sudo /etc/init.d/nginx reload

用户验证

创建一个用户

sudo apt-get install apache2-utils

下载完之后,可以使用htpasswd工具了。

找一个路径,输入:

sudo htpasswd -c ./name.db admin

然后再输入密码,即可创建新的用户。
如果想要在这个db里面,添加用户,去掉 -c 选项就好。

配置nginx

在配置文件中,加入:

location /files {
      ...
      auth_basic "Please input password"; #这里是验证时的提示信息 
      auth_basic_user_file /usr/local/src/nginx/passwd;
      ...
}

修改穿透的设置

在frpc.ini中,加入如下信息:

[http]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 7003 

请不要忘记,在服务器上,把7003给打开。

posted @ 2021-02-15 19:49  schaffen  阅读(338)  评论(0编辑  收藏  举报