nginx解决域名代理到IP+端口的平台静态资源和接口地址问题

主要解决静态资源访问404问题,接口地址重新代理问题。

nginx 复制代码
server {
        listen 80;
        server_name youdomain;
        charset utf8;
        
        listen 443 ssl;
        ssl_certificate /usr/local/nginx/conf/cert/youdomain.pem;
        ssl_certificate_key /usr/local/nginx/conf/cert/youdomain.key;
        ssl_session_timeout 3m;##超时时间
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
     

        #root    /home/front/console-front/;
        #root    /home/cloud/;#https验证文件目录
        index  index.php index.html;

        location / {
                try_files $uri $uri/ /index.php;
		if (!-e $request_filename) {
          		rewrite ^/(.*) /index.html last;
            		break;
        	}
           	proxy_pass http://ip:port/;
        	proxy_set_header Host $host;
        	proxy_set_header X-Real-IP $remote_addr;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        	proxy_set_header X-Forwarded-Proto $scheme;
        }

	#在线设备检测系统
        #location ^~ /efl-prod/ {
        #   	proxy_pass http://ip:port/;
        #	proxy_set_header Host $host;
        #	proxy_set_header X-Real-IP $remote_addr;
        #	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        #	proxy_set_header X-Forwarded-Proto $scheme;
        #}
	#解决js css 访问不到的问题
	#location ~ .* {
   	#	proxy_pass http://ip:port;
        #   	#alias /data/front/nx-travel-front/;
   	#	proxy_set_header Host $http_host;
   	#	proxy_set_header X-Real-IP $remote_addr;
   	#	proxy_set_header X-Forw $proxy_add_x_forwarded_for;
	#}
    	# 静态资源代理 - 必须添加!!!
    	location ^~ /assets/ {
        	proxy_pass http://ip:port/assets/;
        	proxy_set_header Host $host;
        	proxy_set_header X-Real-IP $remote_addr;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        	proxy_set_header X-Forwarded-Proto $scheme;
        
        	# 静态资源缓存
        	expires 30d;
        	add_header Cache-Control "public, immutable";
    	}
    
    	location ^~ /equipManage/ {
        	proxy_pass http://ip:port/sysManage/;
        	proxy_set_header Host $host;
        	proxy_set_header X-Real-IP $remote_addr;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        	proxy_set_header X-Forwarded-Proto $scheme;
        
        	# 静态资源缓存
        	expires 30d;
        	add_header Cache-Control "public, immutable";
    	}
    
    	# 可能还有其他静态资源路径
    	location /static/ {
        	proxy_pass http://ip:port/static/;
        	proxy_set_header Host $host;
        	proxy_set_header X-Real-IP $remote_addr;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        	proxy_set_header X-Forwarded-Proto $scheme;
        	expires 30d;
    	}
    
    	# CSS文件
   	location /css/ {
        	proxy_pass http://ip:port/css/;
        	proxy_set_header Host $host;
        	# ...其他头部配置
    	}
    
    	# JS文件
    	location /js/ {
        	proxy_pass http://ip:port/js/;
        	proxy_set_header Host $host;
        	# ...其他头部配置
    	}
    
    	# 图片
    	location /images/ {
        	proxy_pass http://ip:port/images/;
        	proxy_set_header Host $host;
        	# ...其他头部配置
    	}

    	# API接口特殊处理(如果需要)
    	location ~ ^/gateway/ {
        	proxy_pass http://ip:port;
        	proxy_set_header Host $host;
        	proxy_set_header X-Real-IP $remote_addr;
        	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        	proxy_set_header X-Forwarded-Proto $scheme;
        
        	# API接口超时设置长一些
        	proxy_connect_timeout 60s;
        	proxy_send_timeout 60s;
        	proxy_read_timeout 120s;
        
        	# 禁用API缓存
        	add_header Cache-Control "no-cache, no-store, must-revalidate";
        	add_header Pragma "no-cache";
        	add_header Expires "0";
    	}

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }
        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }
        location ~* \.(css|png|jpg|jpeg|ico)$ {
                expires max;
                log_not_found off;
        }
        location ~ /(assets|upfile|uploads|tmp|log|css|js|images|statics|demo)/.*\.(php|php5)?$ {
                #deny all;
				allow all;
        }

        location ~ /(\.svn|\.git|\.ht|\.DS) {
                deny all;
                internal;
        }
        location ~ \.php($|/) {
                 fastcgi_pass   127.0.0.1:9000;
                 fastcgi_index  index.php;
                 fastcgi_split_path_info  ^(.+\.php)(.*)$;
                 fastcgi_param  PATH_INFO $fastcgi_path_info;
                 fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param    PATH_TRANSLATED    $document_root$fastcgi_path_info;
            fastcgi_param  CI_ENV 'production';
            include        fastcgi_params;
                 #include        fastcgi.conf;
        }

        #if (!-e $request_filename) {
        #    rewrite ^/(.*)$ /index.php/$1 last;
        #    break;
        #}

        access_log  /data/nginx/logs/efl-prod.access.log;
        error_log  /data/nginx/logs/efl-prod.error.log;
    }

*********************************只要思想不滑坡,办法总比困难多*********************************

相关推荐
Java.熵减码农3 小时前
解决Linux修改环境变量后导致登录循环进不去系统的问题
linux·运维·服务器
明天好,会的3 小时前
分形生成实验(五):人机协同破局--30万token揭示Actix-web状态管理的微妙边界
运维·服务器·前端
猫头虎4 小时前
如何在浏览器里体验 Windows在线模拟器:2026最新在线windows模拟器资源合集与技术揭秘
运维·网络·windows·系统架构·开源·运维开发·开源软件
C_心欲无痕4 小时前
nginx - alias 和 root 的区别详解
运维·前端·nginx
徐同保5 小时前
nginx转发,指向一个可以正常访问的网站
linux·服务器·nginx
HIT_Weston5 小时前
95、【Ubuntu】【Hugo】搭建私人博客:_default&partials
linux·运维·ubuntu
实心儿儿5 小时前
Linux —— 基础开发工具5
linux·运维·算法
oMcLin5 小时前
如何在SUSE Linux Enterprise Server 15 SP4上通过配置并优化ZFS存储池,提升文件存储与数据备份的效率?
java·linux·运维
不一样的故事1266 小时前
下的 “Wi-Fi参数配置” 列表,但您当前选中的导航菜单项是 “IP规划”。您遇到的 “IP加载不出来” 问题,很可能
网络协议·tcp/ip·华为
SelectDB6 小时前
驾驭 CPU 与编译器:Apache Doris 实现极致性能的底层逻辑
运维·数据库·apache