Nginx反向代理静态资源

本文详细介绍如何在Nginx中配置HTTP与HTTPS服务。包括创建配置文件、设置域名及路径映射、限制带宽、错误页面配置以及HTTPS证书配置等步骤。特别介绍了自签名证书的生成方式和443端口的开启方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  •  在/etc/nginx/conf.d目录下创建test.conf文件,输入以下配置信息
​server {
    listen       80;
    server_name  helleworld.cn; #修改域名

    location / {
        root   /var/www/html; #代理到mall文件夹中
        index  index.html index.htm;
    }

    limit_rate 128k; #限制网速为128K

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}
  • 配置 /etc/nginx/nginx.conf ,html里面输入以下配置信息
include /etc/nginx/conf.d/*.conf;
  • 重启nginx,systemctl restart nginx
  • 配置HTTPS
  • 在/etc/nginx/conf.d目录下创建ssl.conf文件,输入以下配置信息
server {
    listen       80; # 同时支持HTTP
    listen       443 ssl; # 添加HTTPS支持
    server_name  helleworld.cn;

    #SSL配置
    ssl_certificate      /root/c.crt; # 配置证书
    ssl_certificate_key  /root/c.key; # 配置证书私钥
    ssl_protocols        TLSv1 TLSv1.1 TLSv1.2; # 配置SSL协议版本
    ssl_ciphers          ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # 配置SSL加密算法
    ssl_prefer_server_ciphers  on; # 优先采取服务器算法
    ssl_session_cache    shared:SSL:10m; # 配置共享会话缓存大小
    ssl_session_timeout  10m; # 配置会话超时时间

    location / {
        root   /var/www/html;
        index  index.html index.htm;
    }

    location /admin {
        alias   /usr/share/nginx/html/admin;
        index  index.html index.htm;
    }

    location /app {
        alias   /usr/share/nginx/html/app;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

其中的需要手动生成SSL自签名证书并开启443端口。

参考:http://t.csdn.cn/elOcA

<think>好的,用户想配置Nginx作为反向代理来处理静态文件。首先,我需要回忆一下Nginx的基本配置结构和反向代理的设置方法。反向代理通常是通过配置`proxy_pass`指令来实现的,但对于静态文件,可能需要结合`location`块和`root`或`alias`指令。 接下来,我需要考虑如何正确处理静态文件的路径。使用`root`时,Nginx会将请求的URI附加到root指定的路径后面,而`alias`则会替换location匹配的部分。例如,如果location是`/static/`,使用alias的话,请求`/static/image.jpg`会映射到指定的目录下的image.jpg,而不是在目录后添加static。 然后,可能需要设置缓存控制,通过`expires`指令来让浏览器缓存静态资源,减少服务器负载。同时,压缩配置如gzip也是优化的一部分,可以减小传输文件的大小。 还要注意权限问题,确保Nginx的工作进程有权限访问静态文件所在的目录。另外,可能需要配置MIME类型,避免浏览器无法正确识别文件类型。 用户的问题中提到的是反向代理处理静态资源,所以可能需要反向代理将动态请求转发到后端服务器,而静态文件由Nginx直接处理。这需要在配置中区分不同的location块,例如,一个location处理静态文件,另一个location通过proxy_pass转发到后端。 最后,测试配置是否正确,使用`nginx -t`检查语法,然后重载配置。可能需要检查日志文件排查错误,比如权限问题或路径错误。 总结步骤应该是:编辑Nginx配置文件,添加server块,配置监听端口和server_name,设置location块匹配静态文件请求,使用root或alias指定目录,设置缓存和压缩,配置其他location处理动态请求,测试并重载配置。</think>### 配置 Nginx 作为反向代理处理静态文件 #### 1. 基础配置框架 在 Nginx 配置文件中(如 `/etc/nginx/nginx.conf` 或站点配置文件)添加以下内容: ```nginx server { listen 80; server_name example.com; # 静态文件处理配置 location /static/ { root /path/to/your/static/files; expires 30d; access_log off; } # 反向代理配置(动态请求转发) location / { proxy_pass http://backend_server; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` - `root` 指令指定静态文件根目录,例如 `/var/www/static`,请求 `http://example.com/static/image.jpg` 将映射到 `/var/www/static/image.jpg` - `expires` 设置浏览器缓存时间,降低服务器负载 - `proxy_pass` 将非静态请求转发到后端服务器(如 Node.js、Tomcat 等) #### 2. 性能优化配置 ```nginx # 在 http 块中添加全局优化参数 http { gzip on; gzip_types text/plain text/css application/json; # 文件访问优化 sendfile on; tcp_nopush on; keepalive_timeout 65; } ``` - `gzip` 压缩减少传输体积 - `sendfile` 使用零拷贝技术提升文件传输效率 - `tcp_nopush` 优化网络包发送方式[^1] #### 3. 安全加固 ```nginx location /static/ { # 禁止执行 PHP 等可执行文件 location ~* \.(php|pl|py)$ { deny all; } # 限制敏感文件访问 location ~ /\. { deny all; } } ``` #### 4. 验证配置并重载 ```bash sudo nginx -t # 检查语法 sudo systemctl reload nginx # 重载配置 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值