我们今天做一个将nginx代理到本地服务器案例,首先我们准备一个本地dist包,如图:
![06cac8e41c695e2224f51f3b91f0237a.png](https://i-blog.csdnimg.cn/blog_migrate/c316d03385780d47002e784cfc0a1300.png)
然后我电脑已经按照好了nginx/1.17.9版本
![0efae1e1e073e16b871eeeb7b056b02f.png](https://i-blog.csdnimg.cn/blog_migrate/6b170ccb291cca787c57c2cf22fbf417.jpeg)
![9b968725e0be6ab008476f045a400610.png](https://i-blog.csdnimg.cn/blog_migrate/d9441037dd9b4e3ec7fda94f25be87ac.jpeg)
看这两个目录,第一个是我们nginx访问的根目录,第二个是我们nginx安装位置,我们的配置nginx.config就在这里找
Docroot is: /usr/local/var/www
nginx will load all files in /usr/local/etc/nginx/servers/.
接下来,我们修改host文件,增加
127.0.0.1 http://www.http://xmt521.com
![33105ecad8e299128d910164c80d184c.png](https://i-blog.csdnimg.cn/blog_migrate/c43d7d89928bb346caafdf33e0cc4a0b.jpeg)
![895e7b425fa9cea8ff7f1f566eac52e4.png](https://i-blog.csdnimg.cn/blog_migrate/bdc501cc9300a1c66eb8e77f55046a36.png)
接下来,我们进入nginx,修改nginx.config配置文件
![ad0dca7c036e6ec04126b7c4bff9a805.png](https://i-blog.csdnimg.cn/blog_migrate/dc6accb51d16bbd85df871ca736a38bd.jpeg)
访问localhost:8080就会看到刚才dist包文件
再增加配置文件server
![df56ceb49a52616e6a4d97810c957e1d.png](https://i-blog.csdnimg.cn/blog_migrate/11b7ab0b836d0abd61ae640c20793e6b.jpeg)
访问http://www.xmt521.com:8888/lb/comment/getDetail?id=1,就会转发到本地服务localhost:9151/
![fde6e18482af5a224684e5954e86dd94.png](https://i-blog.csdnimg.cn/blog_migrate/d322c2e56af84cdf7fc9ee659ef42da2.png)
![3a7ce04236212b3814b18f67fd728a21.png](https://i-blog.csdnimg.cn/blog_migrate/d3280137bf298f0b5befc7d663c67b19.jpeg)
这里有一个小说明就是proxy_pass配置说明,proxy_pass转发的路径后是否带 “/”,是影响你正常跳转的一个方面。例如
![dc15207a0a1ade0990d9647f4ed212d8.png](https://i-blog.csdnimg.cn/blog_migrate/fa086d6d92d189eff9065f3e1138f38a.png)
我们先看注释调例子2:
![a62c20ab9aff7b0944da254840ab3abc.png](https://i-blog.csdnimg.cn/blog_migrate/4557fd0af81d55415db68dabdc624605.jpeg)
![da6a085e3c93448bc0d605c26b8de197.png](https://i-blog.csdnimg.cn/blog_migrate/f4ecd85c534b9451a6c79623fdebabf3.jpeg)
访问http://www.http://xmt521.com:8888/c/lb/comment/getDetail?id=1
![8d4c373016a1098af474c64244a5aebf.png](https://i-blog.csdnimg.cn/blog_migrate/8ff72ac06564429e8e56e9a554fda949.jpeg)
结果正常
现在注释1,打开注释2;
![00c33f2efe0c09f45c39a7949e894be2.png](https://i-blog.csdnimg.cn/blog_migrate/e05370c966755cf01b3db30e476cc5f1.jpeg)
![b8b50aa3a288f3ac70a61a49cf7cd7d3.png](https://i-blog.csdnimg.cn/blog_migrate/f95b2efd40766543a8841937cddddb7f.jpeg)
访问http://www.http://xmt521.com:8888/c/lb/comment/getDetail?id=1
![c640dd24d9fb27cc359c5c4eb18c53db.png](https://i-blog.csdnimg.cn/blog_migrate/c94729f01fd00be7104011fd489a775b.jpeg)
结果已经找不到资源了
总结,我们发现:
针对例子1,如果访问url = http://www.http://xmt521.com:8888/c/lb/comment/getDetail?id=1,则被nginx代理后,请求路径会变为 http://proxy_pass/lb/comment/getDetail?id=1,直接访问server的根资源.
针对例子2,如果访问url = http://www.http://xmt521.com:8888/c/lb/comment/getDetail?id=1,则被nginx代理后,请求路径会便问http://proxy_pass/c/lb/comment/getDetail?id=1,将c/ 作为根路径,请求c/路径下的资源