nginx的作用不在此赘述,下面主要记录部分简单的使用场景
适用场景:
非适用场景:
安装软件:需要使用apache2-utils中的htpasswd
sudo apt-get install nginx sudo apt install apache2-utils
查看服务状态: +
号说明服务处于up状态
service --status-all ...... [ + ] nginx ......
修改配置:具体如何修改见后面章节
sudo vi /etc/nginx/sites-enabled/default
重启nginx服务:修改配置后,需要重启nginx
service nginx restart
使用要求:
设计要求:
外部URL | NAT处理 | 内部URL |
---|---|---|
http://$wanip:9999/source/ |
http://$nginxip:8081/source/ |
鉴权成功 --> 打开http://$hostip:666/xxx |
http://$wanip:9999/git/xxx |
http://$nginxip:8081/git/xxx |
鉴权成功 --> 打开http://$hostip:777/git/xxx |
nginx配置: /etc/nginx/sites-enabled/default
文件内容
server { listen 8081; server_name localhost; location ^~ /source/ { auth_basic "source"; auth_basic_user_file /home/wsk/htpasswd.conf; proxy_pass http://127.0.0.1:666/; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; } location ^~ /git/ { auth_basic "git"; auth_basic_user_file /home/wsk/htpasswd.conf; proxy_pass http://127.0.0.1:777; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; } }
因为条件有限,下面的例子,并不包含NAT的过程。如果服务处于NAT后,上面的配置需要做如下变更:其中9999
对应的是外部的端口
proxy_set_header Host $host:9999;
增加账号:
touch htpasswd.conf (首次执行必选) htpasswd -b htpasswd.conf $usrname $passwd
创建source对应的服务:
wsk@wsk:~/nginx/source/simple-tftp/html
sudo python3 -m http.server 666
(首先需要cd到上面目录中)创建git对应的服务:
sudo python3 -m http.server 777
访问source: 第一次访问的时候,会先进行鉴权,当鉴权成功后才能继续访问重定向的网站
访问git服务: 如果第一次访问source已经输入过密码了,这次访问git就不需要再次输入。