需求
有一个很老很老的 Laravel 项目,很多东西都是写死的,就比如路由文件,直接写死了这个域名绑定哪个路由。
目前遇到的问题是,没有的测试、预发布环境,导致测试一些东西就非常麻烦,又因为如上面说的直接写死了「哪个域名绑定哪个路由」,也不敢改,怕出问题,能跑就行 /dog。
所以就想到了用 Nginx 来做一个反向代理,根据 Host 头来转发请求。
实现
因为我想把代码部署到云服务器上,但是项目域名没有备案的,所以购买服务器的地域选择了 香港。
但是众所周知的原因,国内某些大厂云服务器商,回国线路很差,丢包、连不上,所以套了个 Cloudflare 加速访问
所以最终架构如下:
test.www.codesou.cn
是代理域名
www.codesou.cn
是项目域名
- 访问
test.www.codesou.cn
- Nginx 转发到
test.app
- Nginx 转发到
- 访问
www.codesou.cn
- Nginx 转发到
product.app
- Nginx 转发到
所以 Nginx 配置如下:
server
{
listen 80;
server_name test.www.codesou.cn www.codesou.cn;
set $_proxy_host '';
if ( $host = "test.www.codesou.cn" ) {
set $_proxy_host test.app;
}
if ( $host = "www.codesou.cn" ) {
set $_proxy_host product.app;
}
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Nginx 根据 Host 头转发请求到不同的后端服务器
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Nginx 根据 Host 头转发请求到不同的后端服务器