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

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

相关推荐
春日见2 小时前
如何提升手眼标定精度?
linux·运维·开发语言·数码相机·matlab
风中小白菜2 小时前
计算机网络的基本概念 (IP 地址、 MAC 地址、 TCP/UDP、单播/组播广播)
tcp/ip·计算机网络·udp
2501_939909052 小时前
Docker(2)资源限制及数据卷容器以及容器互联
运维·docker·容器
北京阿法龙科技有限公司2 小时前
AR眼镜工业设备巡检运维的应用场景介绍|阿法龙XR云平台
运维·ar·xr
一周困⁸天.2 小时前
GitOps 详解与工具链全解析
linux·运维·devops
叫致寒吧2 小时前
Docker资源限制 与数据卷
linux·运维·docker
福尔摩斯张2 小时前
深入理解C/C++套接字编程:从基础到实践(超详细)
linux·c语言·开发语言·c++·tcp/ip·udp
小宇的天下2 小时前
Synopsys Skipper 核心功能与使用指南(结构化总结)
运维·服务器
苹果醋32 小时前
24.记录Vue项目iview组件日期获取时间少一天
java·运维·spring boot·mysql·nginx