Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

如何配置openerp的访问域名?(已解决)



  • 假设网站服务器绑定的域名是www.openerp.com,如果我在这台服务器上安装了oe,那么就是使用:www.openerp.com:8069访问。
    我现在需要将端口改成80,但是80端口已经被网站占用,所以希望采用二级域名如oe.openerp.com来访问openerp。
    请问怎样设置才能让oe.openerp.com对应访问openerp?
    谢谢!



  • 假设网站服务器绑定的域名是www.openerp.com,如果我在这台服务器上安装了oe,那么就是使用:www.openerp.com:8069访问。
    我现在需要将端口改成80,但是80端口已经被网站占用,所以希望采用二级域名如oe.openerp.com来访问openerp。
    请问怎样设置才能让oe.openerp.com对应访问openerp?
    谢谢!



  • 前面加一层反向代理 nginx



  • 非常感谢,我按照buke的帖子配置nginx,
    如果配置:server_name 0.0.0.0 可以用0.0.0.0访问
    但是使用:server_name oe.openerp.com, 域名却不可以访问
    请问如何才能使用域名访问?是不是还需要对这个域名做一些设置?我目前在本机做测试,请问应该如何设置?谢谢



  • 终于可以了,需要在etc/hosts 下增加一行 127.0.0.1 oe.openerp.com



  • 在etc/hosts 下增加一行 127.0.0.1 oe.openerp.com
    你这种方式和nginx 一点关系都没有
    你是试试127.0.0.1 www.baidu.com 然后发现访问www.baidu.com:8069 尽然是跳转到openerp
    你只是本地在解析oe.openerp.com 转成了127.0.0.1,你这问题归根揭底是你oe.openerp.com 没有做域名指向,也就是指向你空间的ip地址



  • [quote author=baggiow link=topic=16320.msg27797#msg27797 date=1396316957]
    在etc/hosts 下增加一行 127.0.0.1 oe.openerp.com
    你这种方式和nginx 一点关系都没有
    你是试试127.0.0.1 www.baidu.com 然后发现访问www.baidu.com:8069 尽然是跳转到openerp
    你只是本地在解析oe.openerp.com 转成了127.0.0.1,你这问题归根揭底是你oe.openerp.com 没有做域名指向,也就是指向你空间的ip地址
    [/quote]
    因为我在本机测试,所以必须要加上host那一行。我试一下增加域名指向后的情况(晚一点我在服务器上测试)。
    另外,我设置之后,用域名访问,oe无法登录了,请问这个问题你了解是什么情况吗?谢谢


  • 管理员

    首先你要确定,DNS已经正确解析你的域名地址到你的服务器IP了。

    要知道,服务器如果在内网的话,你还要作端口映射或DMZ。

    如果这些都没问题了,把你的nginx配置文件发出来看看。



  • [quote author=digitalsatori link=topic=16320.msg27806#msg27806 date=1396337485]
    首先你要确定,DNS已经正确解析你的域名地址到你的服务器IP了。

    要知道,服务器如果在内网的话,你还要作端口映射或DMZ。

    如果这些都没问题了,把你的nginx配置文件发出来看看。
    [/quote]
    非常感谢,请问如何才能判断DNS已经正确解析域名了?我现在已经把OE安装到外网服务器了,我使用dnspod解析域名,域名设置里面有设置*,应该可以支持所有的二级域名了吧,如下图:
    [attachimg=1]

    另外,我现在遇到的问题是,使用域名访问OE可以,但是每次都显示数据库选择界面,选择数据库后,输入用户名和密码无法登录。我使用各种办法设置默认数据库,都无效,但是使用域名:8069没有这个问题。

    我的nginx conf代码如下:
    [code]
    proxy_temp_path /tmp/nginx_proxy_temp;
    proxy_cache_path  /tmp/nginx_proxy_cache levels=1:2  keys_zone=oecache:100m inactive=3d max_size=1000m;
    proxy_buffer_size    32k;              #设置代理服务器(nginx)保存用户头信息的缓冲区大小
    proxy_buffers        4 32k;            #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
    proxy_busy_buffers_size  64k;          #高负荷下缓冲大小(proxy_buffers2)
    proxy_temp_file_write_size  64k;      #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    proxy_connect_timeout      60;
    proxy_send_timeout        60;
    proxy_read_timeout        3000;

    upstream oeserver{
            server 127.0.0.1:8069;
    }
    server {
            server_name  openerp.mydemain.com;
            root /usr/local/lib/python2.7/dist-packages/openerp-8.0dev_20140326_000101-py2.7.egg/openerp/addons/;
            listen 80;

            gzip on;
            gzip_disable "msie6";

            gzip_vary on;
            gzip_proxied any;
            gzip_comp_level 6;
            gzip_buffers 16 8k;
            gzip_http_version 1.1;
          #添加一个类型 application/javascript
            gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;



            location /{
                    proxy_cache              oecache;
                    #proxy_cache_key "$host$request_uri$request_body";
                    proxy_cache_key $host$request_uri$request_body;
                    proxy_cache_valid  200 304 1d;
                    proxy_cache_valid  any  1d;
                    proxy_next_upstream http_502 http_504 error timeout invalid_header;
                    proxy_pass_header Set-Cookie;
                    proxy_set_header  Host            $host;
                    proxy_set_header  X-Real-IP        $remote_addr;
                    proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
                    proxy_redirect  off;
                    proxy_pass http://127.0.0.1:8069;
                    proxy_buffering on;
                    proxy_cache_valid      1d;
                    expires 1d;
            }

            location ~
    .(js|css|png|jpg|jpeg|gif|ico)$ {
                            proxy_buffering on;
                            proxy_cache_valid      1d;
                            expires 1d;
                    }

            }
    [/code]



  • 我又测试了一下,发现在7.0下没有问题,8.0不行,我用的是3月26号的最新版。有大侠能帮忙在8.0下做个测试吗?非常感谢!


  • 管理员

    你可以看看你的nginx的log(默认是/var/log/nginx/),看看到底是转跳到那个url出现问题。



  • [quote author=Joshua link=topic=16320.msg27809#msg27809 date=1396346850]
    你可以看看你的nginx的log(默认是/var/log/nginx/),看看到底是转跳到那个url出现问题。
    [/quote]
    我看了一下log,是access.log,没有error.log产生,有两行:
    [code]
    "POST /web/login HTTP/1.1" 200 107 "http://openerp.mydomain.com/web/login?db=mydatabase"
    "POST /web/login HTTP/1.1" 200 121 "http://openerp.mydomain.com/web/login?redirect=http%3A%2F%2Fopenerp$.mydomain.com%2Fweb%3Fdb%3Dmydatabase"                                                       
    [/code]
    是不是redirect的时候出问题了?



  • 偶然发现一个问题,我用域名访问时,首先跳到数据库选择界面,此时url是:
    http://openerp.mydomain.com/web/database/selector
    然后选择数据库,跳到登录界面,此时url是:
    http://openerp.mydomain.com/web/login?redirect=http%3A%2F%2Fopenerp.mydomain.com%2Fweb%3Fdb%3Dmydatabase
    这时,如果点登录,是无法登录的,但是如果我手工修改url,为:
    http://openerp.mydomain.com/web/login 回车
    然后在登录,就可以的登录成功。
    这之后,如果使用:http://openerp.mydomain.com/web 访问,则可以不用登录,直接进入系统
    仍使用http://openerp.mydomain.com/,则还是要跳到数据库选择界面。
    现在怀疑,在使用域名访问的时候,选择数据库这里有些问题。
    如果使用http://openerp.mydomain.com:8069访问,只要选择一次数据库,就在也不用出现数据库选择界面了。
    它的登录界面的url是:
    http://openerp.mydomain.com:8069/web/login?redirect=http%3A%2F%2Fopenerp.mydomain.com%3A8069%2Fweb
    最后的参数是web,而不是数据库。



  • 问题解决,删除配置文件中 location /中的下面三行
    [code]
                    proxy_buffering on;
                    proxy_cache_valid      1d;
                    expires 1d;
    [/code]
    但是还不知道为什么


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待