Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【流量网关】Nginx 笔记——常见配置

【流量网关】Nginx 笔记——常见配置

原创
作者头像
小白伪全栈
发布于 2022-01-06 07:51:20
发布于 2022-01-06 07:51:20
1.1K0
举报

主配置文件配置

代码语言:txt
AI代码解释
复制
# 指定运行worker进程的用户,一般不用 root 用户
user  nginx;

# 指定worker进程的数量,一般都是小于或者等于物理cpu核心数
worker_processes  1;

# nginx错误日志存放文件,错误日志级别调整为warn,减少日志量,用于调试可设置为info或debug
error_log  /var/log/nginx/error.log warn;

# pid文件存放nginx主控进程的进程号,通常不需要修改
pid        /var/run/nginx.pid;


events {
    # 单个worker进程允许客户端最大连接数,这个数值一般根据服务器性能和内存来制定,实际最大值就是worker 进程数乘以work_connections。
    worker_connections  65535;
}


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

# 日志格式及位置
    log_format  main  '$remote_addr [$time_local] $upstream_response_time "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent"';
    access_log  /var/log/nginx/access.log  main;

# sendfile系统调用在两个文件描述符之间直接传递数据,从而避免了数据在内核缓冲区和用户缓冲区之间的拷贝,操作效率很高,被称之为零拷贝。
    sendfile        on;
    tcp_nopush     on;

# head中下划线支持
    underscores_in_headers on;

# 超时相关设置
    keepalive_timeout  120;
    client_header_timeout 80;
    client_body_timeout 80;

# 虚拟主机多站点设置
    server_names_hash_max_size 512;
    server_names_hash_bucket_size 128;

# 关闭显示nginx信息
    server_tokens off;

# gizp 配置段落
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 16 64k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    gzip_vary on;

# 后端错误码处理
    fastcgi_intercept_errors on;
    proxy_intercept_errors on;

# 静态资源缓存
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
      expires 30d;
    }

# 加载配置文件所在的目录
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*.conf;
}

虚拟站点配置

代码语言:txt
AI代码解释
复制
server {
    listen 80;
    charset utf-8;
    
    # 通过域名+端口的虚拟站点
    server_name www.xiaobaidonghui.cn;

    # 日志配置,设置缓存区及写入时间间隔
    access_log  /var/log/nginx/xiaobaidonghui.log  main  buffer=32k flush=30s;

    # 默认首页配置
    index index.html;

    # 根目录配置
    root /etc/nginx/html/blog/;
    
    # 防止XSS攻击
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    # 通过UA禁止爬虫抓取
    if ($http_user_agent ~* "Scrapy|Sogou web spider|Baiduspider") {
        return 403;
    }

    # 配置密码访问
    location /upload/ {
        auth_basic "please input user&passwd";
        auth_basic_user_file key/auth.key;
    }

    # 打开目录浏览功能
    location /download/ {
        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
    }

    # 配置允许访问的黑白名单
    location /admin/ {
        #allow 192.168.1.0/24;
        #allow 123.183.157.83
        deny all;
    }

    # 图片防盗链
    location /images/ {
        valid_referers none blocked www.xiaobaidonghui.cn;
        if ($invalid_referer) {
            return 403;
        }
    }

    # 反向代理
    location /gateway/ {
        # 配置请求包体限制
        client_max_body_size 100m;
        # 通过 upstream 或配置后端地址
        # proxy_pass  http://172.26.114.113:6680/;
        proxy_pass  http://gateway/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }
}


# 不允许通过IP访问
server {
    listen 80 default;
    server_name _;
    return 404;
}

# 配置 HTTPS 访问
server {
   listen 443;
   charset utf-8;
   server_name www.xiaobaidonghui.cn;
   access_log  /var/log/nginx/https.access.log  main;

   ssl_certificate /etc/nginx/auth/ssl_20201201.crt;
   ssl_certificate_key /etc/nginx/auth/ssl_20201201.key;
   ssl_session_timeout 5m;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-RC4-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:ECDHE-RSA-AES128-SHA256:RC4-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!DSS:!PKS;
   ssl_prefer_server_ciphers on;

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
常见的 nginx 配置文件的写法
http与https按照给php环境配置的样子举例 http server { listen 80; root /xxx/xxx/xxx; # 项目目录 index index.html index.php; server_name domain.xx.xx; # 绑定的域名或者ip server_tokens off; location ~* .(jpg|jpeg|png|gif|ico|css|js)$ { expires max; ad
禹都一只猫olei
2018/06/08
2K0
4.Nginx安全加固与性能调优最佳指南
为了更好的指导部署与测试艺术升系统nginx网站服务器高性能同时下安全稳定运行,需要对nginx服务进行调优与加固;
全栈工程师修炼指南
2022/09/29
4.1K0
4.Nginx安全加固与性能调优最佳指南
开发工具Tools·Nginx 配置
Nginx 的 listen 指令用于监听指定的 IP 地址和端口号,配置形式为:listen <address>:<port>。若 IP 地址或端口缺失,Nginx 会以默认值来替换。
数媒派
2022/12/01
1.6K0
配置Nginx及安装SSL模块
Nginx是一个反向代理服务器。Nginx不仅可以部署网站,还可以用于配合WAF进行端口监听,如果某项目端口被该项目持续监听,同时防火墙设置拒绝外网访问该端口,Nginx可以将允许外网连接的自定义端口(未处于被监听状态,其它项目可监听该端口)访问请求转发至防火墙拒绝外网访问的端口,因为Nginx转发数据全程是在内网进行。
小新笔记坊
2024/03/12
2.1K0
单机服务器部署Nginx/Node/Nuxt/React/NG,常规优化及自启脚本
PC官网(Angular6)/管理后台(umi+react)/移动端分享(Nuxt)/APP内嵌页(Nuxt)
CRPER
2018/12/27
1.3K0
Nginx反向代理负载均衡配置梳理大全
利用ngx_http_core_module、ngx_http_rewrite_module模块 主要是301跳转 Return写法:域名http请求跳转到对应的https请求
三杯水Plus
2018/11/14
8740
使用Nginx反向代理minio,提供文件公共访问
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。
星哥玩云
2022/08/18
22.3K2
使用Nginx反向代理minio,提供文件公共访问
Nginx配置文件_nginx.conf
留存配置文件,以便需要的时候随时使用 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type ap
CodeWwang
2022/08/24
9270
docker(nginx和tomcat)
# 拉取镜像 docker pull nginx:1.19.0 # 编辑nginx.conf vim /usr/local/serverFolder/nginx/conf/nginx.conf user nginx; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } htt
崔笑颜
2020/11/13
8400
docker(nginx和tomcat)
Ubuntu Server下Nginx和Apache的深度实践:结合生产案例的专家级指南
在当今互联网服务架构中,Web服务器作为承载业务流量、处理用户请求的核心组件,其性能、稳定性和安全性直接影响着用户体验和业务连续性。Ubuntu Server作为最流行的Linux发行版之一,以其稳定性、丰富的软件库和强大的社区支持,成为部署Web服务的首选操作系统。在Web服务器领域,Nginx和Apache作为两大主流解决方案,各有其独特的设计哲学和适用场景,深入理解它们的内部机制和实践应用对于系统管理员、架构师和DevOps工程师至关重要。
徐关山
2025/09/22
4560
Nginx常用指令及心得
小新笔记坊
2024/06/13
2090
玩转NAS | 打造一个动态网关,部署OpenResty - Nginx与Lua的强强联合
最近一个项目中用到 Openresty,作者使用后感觉其比 Nginx 更加强大,结合Lua脚本语言可以做更多的有趣的事情,例如,结合 Redis 缓存数据库做一个实时访问统计以及链路追踪,于是就想着在性价比超高的QNAP 464C2 NAS中安装一个 Openresty 用于后续在NAS中反代一些服务用作于动态Web网关。
全栈工程师修炼指南
2024/07/06
5210
玩转NAS | 打造一个动态网关,部署OpenResty - Nginx与Lua的强强联合
使用DaemonSet+Taint/Tolerations+NodeSelector部署Nginx Ingress Controller
在Kuberntes Cluster中准备N个节点,我们称之为代理节点。在这N个节点上只部署Nginx Ingress Controller(简称NIC)实例,不会跑其他业务容器。 给代理节点打上NoExecute Taint,防止业务容器调度或运行在这些节点。 # 给代理节点打上NoExecute Taint $kubectl taint nodes 192.168.56.105 LB=NIC:NoSchedule 给代理节点打上Label,让NIC只部署在打了对应Lable的节点上。
Walton
2018/04/16
1.8K0
Nginx配置详解完整指南
是山河呀
2025/07/20
1.1K0
超实用 nginx 中常见的配置合集
✨ 封禁 IP 通过 deny 可以封禁指定 IP http { # .... # 封禁IP deny 192.168.4.3; deny 31.42.145.0/24; deny 51.12.35.0/24; } ✨ 仅开放内网 需要先禁止 192.168.1.1 开放其他内网网段,然后禁止其他所有 IP location / { # block one workstation deny 192.168.1.1; # allow anyone in 192.168.
江户川码农
2022/07/19
1.1K2
超实用 nginx 中常见的配置合集
Nginx开源在线配置文件生成器 NginxConfig
Nginx Config 是一个强大的 Nginx 配置文件生成器,号称配置 Nginx 服务器所需的唯一工具。
Tinywan
2024/03/02
2.4K0
Nginx开源在线配置文件生成器 NginxConfig
Nginx结合腾讯云CLB完成请求头Host重写
需求背景 1.常规情况是访问A域名时对外展示域名信息不变,内容却是B域名的,大部分在多版本发布切换时才有这种的需求 2.非常规情况是临时过渡或者域名更换时遗留访问导向 3.使用的是腾讯云clb做负载均衡暂不支持自定义请求header头
三杯水Plus
2020/07/15
2.5K0
tengine配置详解
主配置文件 nginx.conf ########### 每个指令必须有分号结束。################# user root root; #配置用户或者组,默认为nobody nobody。 worker_processes 2; #允许生成的进程数,默认为1 pid /usr/local/tengine/run/nginx.pid; #指定nginx进程运行文件存放地址 worker_rlimit_nofile 102400; #一个进程打开的最大文件数目 events {
用户6792968
2022/08/30
1.9K0
CentOS7-Nginx配置Let's-Encrypt-SSL证书
为http站点添加https支持,需要从证书发行机构获取SSL/TLS 证书。常见的免费证书有两种:
职场亮哥
2020/10/10
2.3K0
web服务器nginx的基本使用与配置
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,使用方面。
IT不难
2022/05/14
1.7K0
web服务器nginx的基本使用与配置
相关推荐
常见的 nginx 配置文件的写法
更多 >
领券
社区新版编辑器体验调研
诚挚邀请您参与本次调研,分享您的真实使用感受与建议。您的反馈至关重要,感谢您的支持与参与!
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
首页
学习
活动
专区
圈层
工具
MCP广场
首页
学习
活动
专区
圈层
工具
MCP广场