Nginx 结合 autoindex 美化索引页面
前言 利用 nginx的 autoindex 模块,通过修改 nginx.conf 配置文件中的 add_after_body配置项来实现美化默认的索引页面。 原理:通过 js将原生界面的 dom元素提取出来,然后重新布局添加样式,最后添加到页面中并移出原来的 dom元素。 效果图 美化方案 Nginx-Fancyindex插件:但是需要自己编译nginx,比较麻烦 autoindex-add_after_body:可以非常方便的进行美化,只需要在nginx配置中添加一行 主要配置参考 这里将autoindex.html放在了nginx的根目录 123456789101112131415161718192021222324server { ...... charset utf-8; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; add_header cache-contro...
Nginx 配置 gRPC 协议
Nginx配置gRPC请求Nginx 在 1.13.10 中,新增了对gRPC的原生支持。有了对 gRPC 的支持,NGINX 就可以代理 gRPC TCP 连接,还可以终止、检查和跟踪 gRPC 的方法调用。 Nginx需要引入模块:--with-http_ssl_module --with-http_v2_module 为已经安装的Nginx添加新的编译模块: 进入解压的Nginx目录 执行命令:./configure --with-http_ssl_module --with-http_v2_module 执行命令:make && make install。执行make install时会将原有的文件替换掉,且会备份之前的文件 使用基础使用方式在客户端和服务器端之间插入 NGINX,NGINX 为服务器端的应用程序提供了一个稳定可靠的网关。 NGINX 使用 HTTP 服务器监听 gRPC 流量,并使用 grpc_pass 指令代理流量。 为 NGINX 创建以下代理配置,在端口 80 上侦听未加密的 gRPC 流量并将请求转发到端口 50051 上...
Nginx 给网站添加用户认证配置
Nginx给网站添加用户认证配置( Basic HTTP authentication) 说明:ngx_http_auth_basic_module模块实现让访问者只有输入正确的用户密码才允许访问web内容。web上的一些内容不想被其他人知道,但是又想让部分人看到。nginx的http auth模块以及Apache http auth都是很好的解决方案。 默认情况下nginx已经安装了ngx_http_auth_basic_module模块。 Nginx认证配置实例生成认证文件123# printf "test:$(openssl passwd -crypt 123456)\n" >> /home/htpasswd# cat /home/htpasswd test:xyJkVhXGAZ8tM **注意:**这里账号:test,密码:123456,记住认证文件路径 配置网站conf文件123456789101112131415server{ listen 80; server_name www.moer...
nslookup 和 dig 指令
dig 和 nslookup 的安装Ubuntu、Debian: 1# apt install -y dnsutils Fedora / CentOS: 1# yum install -y bind-utils nslookup 命令详解nslookup 命令用于查询 DNS 的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。nslookup 的用法相对来说还是蛮简单的,主要是下面的几个用法。 直接查询查询一个域名的 A 记录: 1nslookup domain [dns-server] 如果没指定 dns-server,用系统默认的 DNS 服务器。 查询其他记录直接查询返回的是 A 记录,我们可以指定参数,查询其他记录,比如 AAAA、MX 等: 1234nslookup -qt=type domain [dns-server]nslookup -q=type domain [dns-server]nslookup -type=type domain [dns-server]nslookup -querytype=type domain [d...
CentOS 7 下使用 yum 安装 Nginx
下载对应当前系统版本的 Nginx 包(package)安装 openssl 、 zlib 、 gcc 、pcre依赖1yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel 安装 pcre 依赖:1234wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gztar -xvf pcre-8.45.tar.gz && cd pcre-8.45./configuremake && make install 下载nginx的rpm包:1wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 建立nginx的yum仓库1rpm -ivh nginx-release-centos-7-0.el7.ngx.no...
nginx-sticky 安装及负载均衡使用
转自: https://blog.csdn.net/yyysylvia/article/details/80198021 sticky的工作原理Sticky是nginx的一个模块,它是基于cookie的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识名为route 客户端首次发起访问请求,nginx接收后,发现请求头没有cookie,则以轮询方式将请求分发给后端服务器。 后端服务器处理完请求,将响应数据返回给nginx。 此时nginx生成带route的cookie,返回给客户端。route的值与后端服务器对应,可能是明文,也可能是md5、sha1等Hash值 客户端接收请求,并保存带route的cookie。 当客户端下一次发送请求时,会带上route,nginx根据接收到的cookie中的route值,转发给对应的后端服务器。 nginx+sticky安装nginx安装最好采用编译安装的方式,这样可以很方便的找到nginx的安装位置,方便添加nginx-sticky模块。如果之前已经编译安装过nginx,...
ssh 远程主机执行命令或脚本
免密操控 免密操控不可以逆向,即可以一个主控方对应多个被控方,但不可以一个被控方对应多个主控方。 以下以 gitlab-runner 账户远程免密登录 root@192.168.56.100 为例: 先执行 su gitlab-runner 切换到 gitlab-runner 账户 在你的主控端机器上使用 ssh-keygen 命令创建公钥,使用 ssh-keygen -t rsa 来创建,程序会询问存放目录,如果不需要修改,直接回车几次即可 将 ~/.ssh 目录下 id_rsa.pub 文件拷贝到受控机器的 ~/.ssh 目录中,然后将文件内容导入到 ~/.ssh/authorized_keys 文件 12345# 主控方机器执行:scp ~/.ssh/id_rsa.pub root@192.168.56.100:~/.ssh/id_rsa.pub# 受控方机器执行:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 在受控方机器设置权限: ~/.ssh 权限设置为 700,~/.ssh/authorized...
Nginx 中 $host、$http_host 和 $proxy_host 区别
nginx中$host、$http_host和$proxy_host区别 变量 是否显示端口 值 $host 不显示端口 浏览器请求的ip,不显示端口 $http_host 端口存在则显示 浏览器请求的ip和端口号 $proxy_host 默认80端口不显示,其它显示 被代理服务的ip和端口号(当proxy_pass配置的是upstream, 则$proxy_host是不生效的) 配置反向代理时,接口请求报404问题应用描述:前端应用域名为A(ww.a.com), 后端服务域名为B(www.b.com); 为了解决跨域问题,配置nginx反向代理如下: 1234567...proxy_set_header Host $host;...location ^~ /api/ { rewrite "^/api/(.*)$" /$1 break; proxy_pass http://www.b.com;} 问题:这样配置完成后,接口报404问题。解决:方案一:将proxy_set_header注释掉方案二:修改反向代理配置,...
tcpdump 的使用
转自:https://cloud.tencent.com/developer/article/1840203 简介tcpdump 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎所有的 Linux/Unix 中都有。熟悉 tcpdump 的使用能够帮助你分析调试网络数据,本文将通过一个个具体的示例来介绍它在不同场景下的使用方法。不管你是系统管理员、程序员、云原生工程师还是 yaml 工程师,掌握 tcpdump 的使用都能让你如虎添翼,升职加薪。 基本语法和使用方法tcpdump 的常用参数1tcpdump -i eth0 -nn -s0 -v port 80 -i:选择要捕获的接口,通常是以太网卡或无线网卡,也可以是 vlan 或其他特殊接口。如果该系统上只有一个网络接口,则无需指定 -nn:单个 n 表示不解析域名,直接显示 IP;两个 n 表示不解析域名和端口。这样不仅方便查看 IP 和端口号,而且在抓取大量数据时非常高效,因为域名解析会降低抓取速度 -s0:tcpdump 默认只会截取前 96 字节的内容,要想截取所有的报文...
remote_addr 的一些认识
关于nginx - $remote_addr的解释 nginx的自带变量 $remote_addr 代表客户端的IP remote_addr代表客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的. 当你的浏览器访问某个网站时,假设中间没有任何代理,那么网站的web服务器(Nginx,Apache等)就会把remote_addr设为你的机器IP,如果你用了某个代理(比如clb),那么你的浏览器会先访问这个代理,然后再由这个代理转发到网站,这样web服务器就会把remote_addr设为这台代理机器的IP。 但是实际场景中,我们即使有代理,也需要将$remote_addr设置为真实的用户IP, 以下利用with-http_realip_module模块实现安装(nginx或者openresty编译需要加--with-http_realip_module)1./configure ...... --with-http_realip_module 添加如下配置123456789101112131415# 从哪个header头检索出要的IP地址real_ip_...
