首页 > 系统相关 >nginx通过alias别名使请求路径可以多变

nginx通过alias别名使请求路径可以多变

时间:2023-10-10 13:00:12浏览次数:36  
标签:index nginx 别名 alias html location root

nginx通过alias别名使请求路径可以多变

多多小老虎

于 2020-10-22 10:47:57 发布

2985
收藏 3
分类专栏: devops
版权

devops
专栏收录该内容
36 篇文章1 订阅
订阅专栏
文章目录
前言
一、root
二、alias
三、样例
总结
前言
UAT上有一个需求,只有一个公网域名,通过二级域名来区分不同环境,然而对于前端不同环境来说,只有前端只有一套代码,需要打包不同环境的包加不同目录,对于前端来说不友好,所以就通过nginx的配置来解决这个问题

这里主要用到root和alias
这两个指令都可以定义在location模块中,都是用来指定请求资源的真实路径

一、root
location /i/ {

root /data/w;

}

请求 http://foofish.net/i/top.gif 这个地址时,那么在服务器里面对应的真正的资源是 /data/w/i/top.gif文件

注意:真实的路径是root指定的值加上location指定的值 。

二、alias
而 alias 正如其名,alias指定的路径是location的别名,不管location的值怎么写,资源的 真实路径都是 alias 指定的路径 ,比如

location /i/ {
alias /data/w/;
}


同样请求 http://foofish.net/i/top.gif 时,在服务器查找的资源路径是: /data/w/top.gif

三、样例
前端打包的路径


通过alias的一份样例

控制台mgt

worker_processes 1;

events {
worker_connections 4000;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
client_max_body_size 50m;
sendfile on;
keepalive_timeout 65;

server {
listen 80 default_server;
server_name localhost;
location /iot/ {
alias /usr/share/nginx/html/;
index /index.html /index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

组态interface

events {
worker_connections 4000;
}


http {

include /etc/nginx/mime.types;
default_type application/octet-stream;

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;
root /usr/share/nginx/html;
index index.html index.htm;

location /iot/ {
alias /usr/share/nginx/html/;
try_files $uri $uri/ @router;
index index.html index.htm;
}

location @router {
rewrite ^.*$ /interface/index.html last;
}


}
}

这样当强求http://interface.iot-tenant.192.74.158.32.nip.io/iot/interface/index.html 的时候实际就请求到
/usr/share/nginx/html/interface/index.html

总结
1、 alias 只能作用在location中,而root可以存在server、http和location中。

2、alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 ”/” 可有可无。(之前就踩过这个坑)
————————————————
版权声明:本文为CSDN博主「多多小老虎」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_36759535/article/details/109217136

标签:index,nginx,别名,alias,html,location,root
From: https://www.cnblogs.com/cheyunhua/p/17754403.html

相关文章

  • nginx+lua实现人机身份验证
    前言现在很多网站考虑安全,会做人机验证,可以有效的防刷,防爬虫,防止暴力破解。你是否遇到过这个这个还有这个如何实现?如何实现人机验证,又不用和前端耦合在一起,类似waf,在第一层做验证,不通过就直接拦截。nginx支持调用lua脚本,于是可以使用nginx_lua_module来实现。我......
  • FastDFS+Nginx,轻轻松松搭建一个本地文件服务器
    前言1.本地搭建FastDFS文件系统2.局域网测试访问FastDFS3.安装cpolar内网穿透4.配置公网访问地址5.固定公网地址6.测试访问固定二级子域名前言FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决......
  • 容器初始化配置nginx
    目录#容器初始化,nginx配置apiVersion:"v1"kind:"Pod"metadata:name:nginx-67spec:volumes:-name:guazaiemptyDir:{}initContainers:-name:chesimage:nginx:alpineimagePullPolicy:IfNotPresentargs:["/......
  • Zabbix监控Nginx的七个链接状态
    一、监控nginx链接数状态status#1.开启status页面功能cat>/etc/nginx/conf.d/status.conf<<'EOF'server{listen80;server_namelocalhost;location/nginx_status{stub_statuson;access_logoff;}}EOF#2.访问测试[ro......
  • 正向代理和反向代理的区别、应用场景及在nginx上的应用
    正向代理和反向代理是两种常见的代理服务器架构,它们在网络通信中扮演不同的角色和应用场景。1、正向代理(ForwardProxy):正向代理是一个位于客户端和目标服务器之间的代理服务器。当客户端需要访问互联网上的资源时,它首先将请求发送给正向代理服务器,然后由代理服务器代表客户端发送请......
  • nginx.conf样本
    #usernobody;worker_processes1;#error_loglogs/error.log;#error_loglogs/error.lognotice;#error_loglogs/error.loginfo;#pidlogs/nginx.pid;#这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit-n)与ngin......
  • Flask审计+Nginx读取
    来自:[SUCTF2019]Pythonginx打开还是源码,直接审计:fromflaskimportFlask,Blueprint,request,Response,escape,render_templatefromurllib.parseimporturlsplit,urlunsplit,unquotefromurllibimportparseimporturllib.requestapp=Flask(__name__)#In......
  • nginx实现后端tomcat的负载均衡调度
    1.负载均衡主机和网络地址规划10.0.0.152proxy.magedu.orgnginx10.0.0.150t1.magedu.orgtomcat110.0.0.160t2.magedu.orgtomcat2#只需在10.0.0.52的nginx主机上实现域名解析[root@localhost~]#cat/etc/hosts127.0.0.1localhost......
  • 编译安装nginx,实现多域名 https
     #编译安装nginx[root@centos8~]#yum-yinstallgccpcre-developenssl-develzlib-devel[root@centos8~]#useradd-s/sbin/nologinnginx[root@centos8~]#cd/usr/local/src/[root@centos8src]#wgethttp://nginx.org/download/nginx-1.18.0.tar.gz......
  • nginx负载均衡中常见的算法及原理有哪些?
     #1)轮询(round-robin) 轮询为负载均衡中较为基础也较为简单的算法,它不需要配置额外参数。假设配置文件中共有台服务器,该算法遍历服务器节点列表,并按节点次序每轮选择一台服务器处理请求。当所有节点均被调用过一次后,该算法将从第一个节点开始重新一轮遍历。 特点:由于......