前言:
本周是第一次应用nginx来起环境进行测试,在开始的时候不晓得我的项目中nginx.conf文件的作用,便还是像以前一样间接ng s起前台环境,同时起后盾环境。
一、不指明后盾拜访端口:
启前台和后盾环境后并未查看环境变量的更改,报错:
思考:前台端口不是4200吗,为何申请后盾的也变成4200?
去查看了前台environment环境变量:
环境变量中没有指明后盾拜访地址和端口号!
全局搜寻4200:三个无关的文件
第一处为readme文件,能够排除它并不会起作用
第二处为前台源地址,与后盾申请无关
第三处在开始并不理解,就想着将4200改成后盾端口8080试试:
无反馈!
在认真看了该配置文件后开始纳闷:
server { listen 8005; server_name 127.0.0.1 localhost; # 限度上传文件大小,保障该值小于等于nginx.conf -> http 中的client_max_body_size值 client_max_body_size 20M; location / { proxy_pass http://127.0.0.1:4200; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /sockjs-node/ { proxy_pass http://127.0.0.1:4200/sockjs-node/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } location /api/ { proxy_pass http://127.0.0.1:8081/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}
难道和后盾申请端口无关的不是第三个吗?因为location为定位,猜想是将/api/用如下的进行代替:http://127.0.0.1:8081/
那为啥前台向后盾拜访的是4200呢?
心浮气躁:
童稚的我居然把后盾端口改成了4200:
接下来就出了一系列的问题:
1.拜访localhost:4200首先让我登陆
2.我登陆胜利或者点勾销都会再报404
如下图
在后盾控制台中看到:
除此之外还有 No mapping for GET /等等。。。。
当我间接通过url拜访login,resetPassword等办法都胜利,开始狐疑难道spring Security生效了?
除此之外也想了是不是本人前台的问题,去理解了前台的启动过程。反正就是自觉的找!
总之:做了很多无用功
问老师:
以后应用了nginx,你须要改成nginx转发:转发配置都在nginx.conf文件:
此处就不介绍在启动nginx时本人的一些蛊惑操作了!
具体操作:
通过include形式,将我的项目中的nginx.conf文件增加到/usr/local/etc/nginx/nginx.conf文件中,如下图:
应用nginx -t:查看引入的配置是否失效,查看是否有导入的nginx.conf
胜利后应用nginx -s reload:重新启动nginx
此时咱们关上监听的端口8005,便会首先关上前台端口:
总结:
nginx此处的作用次要是反向代理:
如下图,当咱们拜访127.0.0.1:8005/或者localhost:8005/,则定位到http://127.0.0.1:4200,也就是咱们的前台地址。
将监听咱们设置的地址,当发动申请时,匹配特定的规定。最初再将申请的后果返回给咱们监听的地址。
版权申明
本文作者:河北工业大学梦云智开发团队 - 郝泽龙