nginx前端配置(新)

编程入门 行业动态 更新时间:2024-10-26 20:32:24

<a href=https://www.elefans.com/category/jswz/34/1771256.html style=nginx前端配置(新)"/>

nginx前端配置(新)

基础配置 

server {listen 80;server_name your-frontend-domain;# 根目录为前端网页文件所在目录root /path/to/your/frontend/files;# 默认文档(例如 index.html)index index.html;location / {try_files $uri $uri/ /index.html;   #try_files 指令用于处理前端路由,以便将所有请求重定向到 index.html,这对于单页应用程序(SPA)非常有用}location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {expires 30d;    #配置静态文件的缓存时间add_header Cache-Control "public, max-age=2592000";在响应头中添加 Cache-Control 标头,告诉客户端浏览器可以缓存响应内容,最长时间为2592000秒}# 可以添加其他资源的处理规则,如字体文件等
}

关于add_header还可以添加其它标头

添加安全标头

add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";

如禁止浏览器嗅探内容类型(X-Content-Type-Options)以及点击劫持保护(X-Frame-Options)等

添加自定义标头

add_header X-My-Custom-Header "Hello, World!";

这会在响应头中添加一个自定义标头 X-My-Custom-Header 并将其值设置为 "Hello, World!"

不同客户端使用不同的项目文件

server {listen 80;server_name your-frontend-domain;location / {root /opt/static/pc;if ($http_user_agent ~* '(mobile|android|iphone|ipad|phone)') {   #判断变量中的客户端参数是否是移动端,是的话使用以下静态资源路径root /opt/static/mobile;}index index.html;try_files $uri $uri/ /index.html;   #try_files 指令用于处理前端路由,以便将所有请求重定向到 index.html,这对于单页应用程序(SPA)非常有用}}

 ssl配置与重定向配置

server {listen 80;server_name your-website;return 301 https://$server_name$request_uri;
}
server {listen                      443 ssl;server_name                 your-website;ssl_certificate             /etc/nginx/ssl/your-website.crt;ssl_certificate_key         /etc/nginx/ssl/your-website.key;ssl_session_timeout         10m;ssl_ciphers                 ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384;ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers   on;   #如果启用此选项,Nginx会优先使用服务器端支持的密码套件,而不是客户端提供的首选密码套件。这通常是安全的,因为它强制使用服务器配置中的密码套件,以最大程度地确保安全性。但是,这可能会导致某些老旧客户端无法连接,因为它们的密码套件不被服务器所支持ssl_session_timeout 1d;    #选配,此配置定义了SSL会话超时的时间。在示例中,它设置为1天,这意味着SSL会话将在1天后过期。过期的会话可能需要重新建立,以提高安全性ssl_session_cache shared:SSL:10m;   #选配,这个配置定义了用于存储SSL会话信息的缓存大小和存储位置。在示例中,它使用了共享内存缓存(shared memory cache)来存储SSL会话。这有助于加快SSL握手的速度,因为会话数据可以在客户端和服务器之间重用ssl_session_tickets off;   #选配,这个配置用于控制是否启用SSL会话票据(session tickets)。在示例中,它被设置为 off,表示禁用SSL会话票据。启用会话票据允许客户端和服务器之间的会话信息跨多个SSL连接重用,以提高性能add_header Strict-Transport-Security "max-age=31536000; includeSubdomains" always;  #选配,使用HTTP Strict Transport Security 头增加了安全性,强制客户端在一年内使用HTTPS与您的网站通信location / {root                    /project/xxx;index                   index.html index.htm index.md;try_files               $uri $uri/ /index.html;}
}

静态文件压缩


server {# 开启gzip 压缩gzip on;# 设置gzip所需的http协议最低版本 (HTTP/1.1, HTTP/1.0)gzip_http_version 1.1;# 设置压缩级别,压缩级别越高压缩时间越长  (1-9)gzip_comp_level 4;# 设置压缩的最小字节数, 页面Content-Length获取gzip_min_length 1000;# 设置压缩文件的类型  (text/html)gzip_types text/plain application/javascript text/css;
}

更多推荐

nginx前端配置(新)

本文发布于:2023-12-06 16:51:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1668211.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:nginx

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!