docker nginx部署.net core后端站点和angular前端站点
首先声明,服务器是linux 版本是ubuntu server 18.04,不是windows server。windows server 2016放弃治疗了,2019可能会有改善,不过云厂商的公共镜像并没有。windows container折腾死人啊.
架构如上图所示,.net core应用通过docker运行,监听11101端口,不对外部开放。
angular应用通过nginx 镜像运行,监听11102端口,不对外部开放。
主nginx容器监听某个域名80端口,配置端口转发至11101,监听另一个域名的80端口,配置端口转发至11102。
这样对于外部来说就像是直接通过那两个域名进行访问一样。
三个容器运行情况如下所示,.net core应用容器监听11101端口,ng应用容器监听11102端口,nginx容器监听80和443端口
nginx的配置如下。
用的是华为云的CES,有个小坑,就是localhost总是用不了,得用局域网IP, 我这里配置的就是192.168.1.122这里除了转发请求外还有两个点需要注意,Abp.TenantId请求头中有小数点.对于nginx来说是非法的请求头,默认是会被过滤掉的,所以需要手动配置关闭过滤,也就是图中的
ignore_invalid_headers off;
说实话被这个坑困扰了好久,最终还是在abp的github issues中找到了。
还有另一个就是url rewrite的问题,之前部署在iis是安装了iis 的rewrite模块,但在nginx中url rewrite是重定向配置,也是找了好久才找到是url和文件路径匹配。解决这个问题需要修改前端站点的nginx配置
加上标记的那行,表示url和文件路径匹配。
后两行是设定index所在路径。
这样配置的效果就是http请求转发到了前端ng站点,https的请求转发到了.net core的webapi站点。
前端站点每个容器都要进去修改nginx配置文件也很麻烦,既然如此,那当然是改nginx镜像啦。下一篇见。
转载于:https://www.cnblogs.com/turingguo/p/10383352.html
docker nginx部署.net core后端站点和angular前端站点相关推荐
- 【Vue】Docker + Nginx 部署 Vue3.0 项目
Docker + Nginx 部署 Vue3.0 项目 1.用指令 npm run build 打包vue.js项目(该项目是在WebStorm里面新建的Vue空项目). 打包成功后,会生成一个目录d ...
- Docker+Nginx部署Angular国际化i18n
Docker+Nginx部署Angular国际化i18n 在Angular项目中添加default.conf文件 default.conf 为了支持局域网,增加一个域名,即本地的局域网ip地址. se ...
- Docker+Nginx部署Angular
Docker+Nginx部署Angular 在部署Angular生产环境之前,需要电脑已经安装docker. 添加Dockerfile 在已经完成的Angular项目的项目根目录下添加Dockerfi ...
- docker nginx部署前端项目
最近一直在搞前后端分类,一直在想前端的html页面应该用什么部署 想来想去,如果用tomcat好像有点浪费资源,作为程序员自然要时时刻刻追求新的东西 一直以来都是在apache tomcat上面运行, ...
- 尝试 Docker + Nginx 部署单页应用
开发到部署,亲力亲为 当我们开发一个单页面应用时,执行完构建后 npm run build 会生成一个 index.html 在 dist 目录,那怎么把这个 index.html 部署到服务器上呢? ...
- docker nginx部署web应用_docker部署Nginx
1.拉取Nginx进行 docker pull nginx:latest拉取完成查看:docker images 2.准备工作 先在主机创建工作文件夹,为了挂载配置和静态文件的访问使用 #启动一个容器 ...
- Nginx部署vue,及后端项目的接口转发
背景介绍 在部署项目时,配置Nginx端口8888,后端服务端口8088. #user nobody; worker_processes 1; #error_log logs/error.log; # ...
- Docker nginx部署阿里https(最新的方案)
1.安装nginx docker pull nginx 2.启动容器(注意80跟443,自己注意下自己的服务器 80.443端口有没有打开) docker run --name nginx -d -p ...
- Docker + Nginx 部署Vue项目
1.vue项目打包 打包生成dist文件夹 npm run build 如果将该dist目录整个传到服务器上,部署成静态资源站点就能直接访问到该项目. assetsPublicPath: '/' 记得 ...
最新文章
- A16Z内部万字报告:人类与AI结合的最佳形态
- 进程通信学习笔记(互斥锁和条件变量)
- Spirng MVC +Velocity 表单绑定命令对象
- interp3函数-----三维数据插值
- 图片懒加载解决方案 lazyload.js
- java学习(47):带参无返回
- Navicat 连接Mysql 报错1251
- OpenMetric与时序数据库模型之主流TSDB分析
- python gui 框架中显示gif_使用QLab在PyQt GUI中显示gif
- 编程没点为什么,生活就是十万个为什么
- 小程序 长按转发_小程序转发分享
- uniapp监听PDA激光扫描
- 网盘和云备份 区别在哪里
- SMART200 DP01模块通讯问题
- 一张图看懂财务报表分析
- 网络安全烽火再起 BAT聚头2017 网络安全生态峰会
- php下载地址转换工具,PHP实战:php实现把url转换迅雷thunder资源下载地址的方法...
- 微信小程序:MD5 加密
- 小米软件研发工程师面试
- NSoup Select 示例