求助 nginx配置 部署前端相关 - CNode技术社区

求助 nginx配置 部署前端相关
发布于 6 年前 作者 rianran1993 6037 次浏览 来自 问答

我用的ant design pro的默认配置. 配置到8088根目录下,直接访问能正常访问。现在想通过 8001/test/ 转发访问. 问题是 js和css全报404

server {
 listen 8001;
		#location ~ .*\.(js|css|jpg|jpeg|gif|png|ico|pdf|txt)$ {
 # proxy_pass http://127.0.0.1:8088;
 #}
		location /test/{
 proxy_pass http://127.0.0.1:8088/;
		 	proxy_set_header host $host;
			proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 }
 server {
 listen 8088 default_server;
 server_name somename alias another.alias;
 location / {
 try_files $uri $uri/ /index.html;
	 root D:\website;
 }
 error_page 404 /404.html;
 location = /40x.html {
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 }
 }
	```
9 回复

webpack的设置 资源根路径(可能叫publicPath)需要设置/test

F12-network,看一下前端资源访问的链接是什么

location /test/块里面需要rewrite,否则你代理之后的访问路径就相当于:http://127.0.0.1:8088/test/xxx.css,这样的话当然是404

我就是想直接部署到8088端口的根目录下,然后又能通过8001/test/ 二级目录访问。 所有umi的base publicpath应该就不需要改把,默认"/"就行。我先去试下rewrite

@funswe 老哥 不能用rewrite呀,现在就是外网8088端口没开放,只开放了8001端口。 我现在暂时的解决办法就是改代码配置文件,只部署到8001的二级目录了

那修改成下面这样可以吗?

location /test/(.*){
 proxy_pass http://127.0.0.1:8088/1ドル;
		 	proxy_set_header host $host;
			proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }

@funswe 下面这样写可以访问,但是刷新就不行了,try_files又要踩坑。我觉得本身这样配置就是不对的。还是老实改配置代码,部署了

 server {
 listen 8001;
		#单独代理静态文件
		location ~ (.*)\.(js|css|jpg|jpeg|gif|png|ico|pdf|txt)$ {
 proxy_pass http://127.0.0.1:88881ドル.2ドル;
 # rewrite (.*).(html|js|css|gif|jpg|png|bmp|swf)$ http://127.0.0.1:88881ドル.2ドル break;
 }
		location /test/{
 proxy_pass http://127.0.0.1:8088/;
		 	proxy_set_header host $host;
			proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 }
	```

@rianran1993 这样子可以吗?

server {
 listen 8088 default_server;
 server_name somename alias another.alias;
 location /test/ {
			alias {资源目录}
 }
		 # ....
 }

要么 ant design pro 项目改下 webpack 配制, 把 publicePath 改为为相对路径 ./ , 改 ‘/test’ 那么 8088就不能用了

要么把 资源路径也反向代理到 8001下面

回到顶部

AltStyle によって変換されたページ (->オリジナル) /