背景

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的更多相关文章

  1. Windows server 2012 R2下安装sharepoint2013

    • 安装windows server 2012 R2 系统,配置IP.系统打补丁,修改主机名.加域后重启.• 安装WEB服务器,勾选windows身份验证 • 安装应用程序服务器 • 安装.NET F ...

  2. windows server 2012 R2修改默认远程端口

    因客户现场网络复杂,将windows系统的默认远程端口3389归入安全策略中,所以服务器需要修改此端口,配置如下: 首先:登录操作系统,win+R调出运行菜单后输入regedit, 进入注册表编辑相关 ...

  3. Windows Server 2012 R2远程桌面默认端口修改

    修改3389默认端口可使服务器安全性进一步提升,可以避免阻断大部分的恶意暴力密码爆破. 在开始--运行菜单里,输入regedit 或者: 远程登陆服务器选择系统桌面中的"Windows Po ...

  4. Windows server 2012 R2 部署WSUS补丁服务

    一.WSUS 安装要求 1.硬件要求: 对于多达 13000 个客户端的服务器,建议使用以下硬件:* 4 Core E5-2609 2.1GHz 的处理器* 8 GB 的 RAM 2.软件要求: 要使 ...

  5. 阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅

    做了多年的Web开发工作,网站部署也不在话下,可每次部署却并不是十分顺利,将本次在阿里云服务器上部署asp.net mvc网站遇到的问题记录如下. 平台是阿里云ECS,操作系统是 Windows Se ...

  6. Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程

    原文地址:http://www.osyunwei.com/archives/7378.html 搬运是为了自己找资料方便. 准备篇 一.环境说明: 操作系统:Windows Server 2012 R ...

  7. 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 ...

  8. 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 ...

  9. Windows Server 2012 R2

    Windows Server 2012 R2 历史上的Server有2003 server, 2008 server, 2012 server windows server 2012 r2对计算机的消 ...

随机推荐

  1. django 快速实现文件上传

    前言 对于web开来说,用户登陆.注册.文件上传等是最基础的功能,针对不同的web框架,相关的文章非常多,但搜索之后发现大多都不具有完整性,对于想学习web开发的新手来说就没办法一步一步的操作练习:对 ...

  2. 快速暴力解决Eclipse ADT和Android Studio兼容问题,创建同时兼容ADT和AS的安卓工程

    环境:AS 2.1.2+Java1.7+Gradle 2.14+ADT 24.0.2+MyEclipse 2015 前言:因为比赛要求使用ADT,而我本身比较习惯使用AS开发,遂想办法打造兼容两个ID ...

  3. Sql Server来龙去脉系列之三 查询过程跟踪

    我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更 ...

  4. LeetCode - 44. Wildcard Matching

    44. Wildcard Matching Problem's Link --------------------------------------------------------------- ...

  5. JS Array ECMAScript5 Methods

    JavaScript 的新版本(ECMAScript 5)中,为数组新增了一些方法.这些方法包括: forEach(f [,o]): 此方法类似于for/in循环,其作用是遍历整个数组并执行函数的某些 ...

  6. OAuth2.0 基础概述

    web:http://oauth.net/2/ rfc:http://tools.ietf.org/html/rfc6749 doc:http://oauth.net/documentation/ c ...

  7. #define lowbit(x) ((x)&(-x))原理详解

    #define lowbit(x) ((x)&(-x)) 也可以写成如下形式: int Lowbit(x) { return x&(-x); } 例如: 1> x = 1: 十进 ...

  8. C语言范例学习03-下

    树与图 3.5 二叉树及其应用 PS:二叉树是最经典的树形结构,适合计算机处理,具有存储方便和操作灵活等特点,而且任何树都可以转换成二叉树. 实例101 二叉树的递归创建 实例102 二叉树的遍历 问 ...

  9. 【poj 3461】Oulipo(字符串--KMP)

    题意:求子串在文本串中出现了多少次. 解法:使用KMP的next[ ]和tend[ ]数组计数. #include<cstdio> #include<cstdlib> #inc ...

  10. 那一夜,我们..奋笔疾书敲出的--->>库存管理系统

    说了会再见,最近好吗?无论你在哪里>也许你在温暖的家,或许你在身在异乡的城市;或许你高高的峰顶放生高歌,或许你还在陡峭的山峰半空努力攀爬.......相信我们都会登上顶峰,"会当凌绝顶 ...