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;
    }

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

相关推荐
cpolar技术支持15 分钟前
把配置发出去怕带出密钥?先把含凭据配置转成脱敏只读快照,用 cpolar 给同事核对差异
运维·python·内网穿透·cpolar·配置脱敏
我不会起名字32234 分钟前
Redis 突然只能读不能写:MISCONF 报错的 3 类触发条件与 4 步恢复
运维·redis·持久化·排查·misconf
workflower1 小时前
Agentic AI 时代的企业ICT 基础设施运维
运维·人工智能·机器学习·重构·云计算·汽车
szxinmai主板定制专家1 小时前
ZYNQ 数据采集方案踩坑总结:电力强电磁干扰、工业现场多协议适配优化
运维·人工智能·fpga开发·机器人·zynq
猫咪很可爱1 小时前
Oracle RAC 启动失败排查:私网通信与内核参数优化实战
运维·数据库·oracle
无足鸟ICT1 小时前
【RHCA+】RPM包验证和数字证书
linux·运维·服务器
yunfengzhineng2 小时前
天津立体库货架配套厂家
大数据·运维·人工智能·python
星恒随风2 小时前
Linux线程概念详解:从分页存储、页表、MMU与TLB,深入理解线程和进程的区别与联系
linux·运维·笔记·学习·状态模式
救救孩子把2 小时前
AI面试八股文-13_12-AI 框架与运维面试题
运维·人工智能·面试
小范的技术工坊2 小时前
Linux应用开发(文件属性)
linux·运维·服务器