Windows Server 2012 R2下通过80端口访问Odoo ERP
背景
Odoo 9.0系统,安装于Windows Server 2012R2,同时与IIS并存。Odoo自带web服务器,使用端口8069。因客户需要用80端口访问,因此需要进一步设置,且8069端口通过公网访问,在某些客户环境下会被防火墙拦截。
要点
网上有些文章提到可以通过修改Odoo配置文件重启服务使其服务端口从8069转移到80,(如这篇文章所提到的:http://rcadhikari.blogspot.com.au/2015/05/to-change-default-port-8069-to-80-or.html),但在IIS与Odoo并存的环境下,IIS总是会优先占用80端口,即使停掉IIS的默认网站和其他占用80端口的服务也是如此。除此之外,某些环境下还有特殊服务如SQL Server Reporting Service, Web Publish Sevice等也会占用80端口。因此,按照前面文章描述的方法修改Odoo文件后,通过80端口访问Odoo服务器还是会遇到404的错误
最后我选择了保留Odoo的8069端口设置,通过Application Request Routing 3.0设置路由规则,将外网访问Odoo服务器80端口通过路由转发至8069,并获得成功,至今运行尚未遇到问题
步骤
Step 1. 确认服务器上没有其他应用会使用80端口
因为即将使用80端口进行路由代理,因为80端口不能被其他任何应用占用
Step 2. 检查服务器端是否已安装Application Request Routing 3.0
如果还没有安装,需要先安装,安装后重启IIS Manager
下载地址 http://www.iis.net/downloads/microsoft/application-request-routing
Step 3. 如果还没有Server Farm被设置,需要先设置Server Farm
1. 在IIS管理器中找到服务器节点,右击Server Farms,选择Create Server Farm,弹出窗口中输入Server Farm Name,勾选Online选项,下一步。
2. 向新建的Server Farm添加服务器: 输入要添加的服务器地址,如本机服务器地址,把要添加的服务器地址都列入后,点完成。
Step 4. 设置路由代理
在IIS管理器中找到服务器节点,在特性试图(Features View)中找到Application Request Routing Cache,双击进入,勾选"Enable Proxy"后确认
Step 5. 启动“默认网站”
如果IIS中的"默认网站"尚未被启动,则现在尝试启动之,检查其是否工作正常。
Step 6. 添加路由规则
1. IIS管理器中找到默认网站节点,点击后,在特性试图下找到URL Rewrite项,双击进入
2. 点击右侧"Add Rule(s)...",
3. 选择Blank Rule
4. 在Edit Inbound Rule窗口中填入/选择以下信息:
Name: Odoo Proxy
Requested Url: Matches the Patterns
Using: Wildcards
Patterns: *
Ignore Case: 选中
Action Type: Rewrite
Rewrite URL: http://localhost:8069/.{R:1}
Append query string,选中
Log rewritten URL, 不选
确定保存。
Step 7. 重启默认网站后,其他机器访问该服务器80端口即可呈现Odoo系统的内容了
参考文章
https://knowledge.safe.com/articles/632/using-iis-and-arr-as-a-reverse-proxy.html
http://blogs.iis.net/wonyoo/application-request-routing-arr-as-a-reverse-proxy
http://rcadhikari.blogspot.com.au/2015/05/to-change-default-port-8069-to-80-or.html
Windows Server 2012 R2下通过80端口访问Odoo ERP的更多相关文章
- Windows server 2012 R2下安装sharepoint2013
• 安装windows server 2012 R2 系统,配置IP.系统打补丁,修改主机名.加域后重启.• 安装WEB服务器,勾选windows身份验证 • 安装应用程序服务器 • 安装.NET F ...
- windows server 2012 R2修改默认远程端口
因客户现场网络复杂,将windows系统的默认远程端口3389归入安全策略中,所以服务器需要修改此端口,配置如下: 首先:登录操作系统,win+R调出运行菜单后输入regedit, 进入注册表编辑相关 ...
- Windows Server 2012 R2远程桌面默认端口修改
修改3389默认端口可使服务器安全性进一步提升,可以避免阻断大部分的恶意暴力密码爆破. 在开始--运行菜单里,输入regedit 或者: 远程登陆服务器选择系统桌面中的"Windows Po ...
- Windows server 2012 R2 部署WSUS补丁服务
一.WSUS 安装要求 1.硬件要求: 对于多达 13000 个客户端的服务器,建议使用以下硬件:* 4 Core E5-2609 2.1GHz 的处理器* 8 GB 的 RAM 2.软件要求: 要使 ...
- 阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅
做了多年的Web开发工作,网站部署也不在话下,可每次部署却并不是十分顺利,将本次在阿里云服务器上部署asp.net mvc网站遇到的问题记录如下. 平台是阿里云ECS,操作系统是 Windows Se ...
- Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程
原文地址:http://www.osyunwei.com/archives/7378.html 搬运是为了自己找资料方便. 准备篇 一.环境说明: 操作系统:Windows Server 2012 R ...
- windows server 2012 r2 iis8.5 部署asp.net mvc4/5程序小结
windows server 2012 r2 iis8.5 部署asp.net mvc4/5程序小结 原文链接:http://www.xuanhun521.com/Blog/66d491f8-b479 ...
- Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程
准备篇 一.环境说明: 操作系统:Windows Server 2012 R2 PHP版本:php 5.5.8 MySQL版本:MySQL5.6.15 二.相关软件下载: 1.PHP下载地址: htt ...
- Windows Server 2012 R2
Windows Server 2012 R2 历史上的Server有2003 server, 2008 server, 2012 server windows server 2012 r2对计算机的消 ...
随机推荐
- Python内置函数解析
我们知道,为了方便使用,python内置了一系列常用及关键的函数,如type().下面将对这些函数进行逐一分析.解释. Python内置函数表: 1. abs():返回绝对值.如abs(-1)= 1. ...
- 最近读cocoaui源代码有感
上半年为了做一个ios的应用,引入了cocoaui库,主要是用来布局ios界面,发现简化了不少代码和工作量.因为在写第一个ios应用的时候,用的代码布局,在适配4s和6的机型时候,几乎被搞死,大量的约 ...
- 在VS中使用TinyFox调试OWIN应用(转)
在很早一段时间之前,我曾经写过一篇关于Katana的使用方法的文章<如何安装并简单的使用OwinHost——Katana>,上面就有介绍如何在VS中调试使用Katana作为Host的App ...
- 价值100W的经验分享: 基于JSPatch的iOS应用线上Bug的即时修复方案,附源码.
限于iOS AppStore的审核机制,一些新的功能的添加或者bug的修复,想做些节日专属的活动等,几乎都是不太可能的.从已有的经验来看,也是有了一些比较常用的解决方案.本文先是会简单说明对比大部分方 ...
- 实现java 中 list集合中有几十万条数据,每100条为一组取出
解决"java 中 list集合中有几十万条数据,每100条为一组取出来如何实现,求代码!!!"的问题. 具体解决方案如下: /** * 实现java 中 list集合中有几十万条 ...
- MVC学习笔记索引帖
[MVC学习笔记]1.项目结构搭建及单个类在各个层次中的实现 [MVC学习笔记]2.使用T4模板生成其他类的具体实现 [MVC学习笔记]3.使用Spring.Net应用IOC(依赖倒置) [MVC学习 ...
- Unity3D读取模型文件自动生成AnimatorController简单实例
前几天接到一个任务,做一个导入.控制模型动画的工具类,没有太具体的要求,于是就自行思考实际需求,最终根据宣雨松老师的一篇博客,自己规范了一下写了一个工具类.相关工具代码及测试用例已上传至Github. ...
- javascript类的理解和使用
距离上次写博客已经过去好几个月了,现在手里的项目正好都结束了,闲暇之后开始理一下开发中一些问题,这次说一下javascript当中的类,可能很多人对于写惯了前台页面效果的coder来说,对于javas ...
- CMS如何提供XML格式的接口
在做APP的过程中,需要服务端的接口数据. 是用Json格式还是Xml格式呢,很多人会说还是xml习惯. 然而PHP更适合返回的还是json,php核心库中就包含了json编码的函数,可以直接将数组转 ...
- android 学习资料
Fragment 事件分发机制 事件分发机制2 NDK JNI ndk { moduleName "mymodule" ldLibs "log" stl &qu ...