配置nginx遇到的坑一—–css样式不显示问题

在给公司的项目配置nginx的时候,由于业务需求,访问地址很长http://xxx.xxx.com/static/credit/files/model1/index.html#/home。先需要将长地址变成http://xxx.xxx.com这样短的,便于访问和维护。

第一阶段

用阿里云域名解析里的的隐形url

访问http://xxx.xxx.com的时候是可以访问的,直接访问的是http://xxx.xxx.com/static/credit/files/model1/index.html#/home,而且浏览器窗口地址还是短的不变,基本上能满足要求

但是这样做会有bug,阿里云的隐形url利用的是frameset,查看源码就可以知道

这样处理虽然可以正常显示页面,但在网站的title处不会显示网站的名称

正常显示是网站的名称的。代码里title设置的

第二阶段

利用nginx的location和反向代理来配置

server {
 listen 80;
 server_name ls_local.yiducredit.com;
 access_log logs/ls_local.yiducredit.com.log main;

location ~* \.(gif|jpg|jpeg|png|css|js|ico|html|json)$ {
 root /lvzb/apache-tomcat-view/webapps/ROOT/static/credit/files/model1;
 index index.html; 
}


 location / {
 proxy_pass http://localhost:2024/static/credit/files/model1/index.html;
 proxy_redirect off;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 client_max_body_size 10m;
 client_body_buffer_size 128k;
 proxy_connect_timeout 90;
 proxy_read_timeout 90;
 proxy_buffer_size 4k;
 proxy_buffers 6 32k;
 proxy_busy_buffers_size 64k;
 proxy_temp_file_write_size 64k;
 }
}

此处又有几个坑需要注意

1、由于路径问题,代码里的css和js文件加载不了,路径不对,这里用location来处理。将静态文件地址直接映射到目录位置处

location ~* \.(gif|jpg|jpeg|png|css|js|ico|html|json)$ {
 root /lvzb/apache-tomcat-view/webapps/ROOT/static/credit/files/model1;
 index index.html; 
}

2、css样式没有引用,页面样式错乱,打开浏览器控制台,发现下面的警告

Resource interpreted as Stylesheet but transferred with MIME type text/plain

意思大概是文件本来是css样式文件,但是当text/plain用了,所有不能正常显示。google了一下,最后发现是nginx没有加mime.types,在nginx里加上后,页面就可以正常显示了。

worker_processes auto;
pid /var/run/nginx.pid;
worker_rlimit_nofile 102400;
user www;
events
{
use epoll;
worker_connections 102400;
}
http {
 include mime.types;
 log_format main '$http_x_forwarded_for - $remote_user [$time_local] "$request" '
 '$status $body_bytes_sent "$http_referer" '
 '"$http_user_agent" $request_time $remote_addr';
 include vhost/*.conf;
}

 

 

1
如无特殊说明,文章均为本站原创,转载请注明出处

该文章由 发布

这货来去如风,什么鬼都没留下!!!