隐藏URL odoo中的端口号?

时间:2016-10-21 06:42:35

标签: nginx openerp port reverse-proxy odoo-8

我需要从url中提取端口号。我正在运行odoo实例使用--db-filter =' ^%d @',mydomain.com:8069工作正常,但mydomain.com找不到页面。我已经安装了nginx并编辑了/etc/nginx/nginx.conf,如下所示。

/etc/nginx/nginx.conf

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;

}

http {
    include       mime.types;
    # anything written in /opt/nginx/conf/mime.types is interpreted as if written inside the http { } block

    default_type  application/octet-stream;
    #

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
#                  '$status $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"';

#access_log  logs/access.log  main;

sendfile        on;


keepalive_timeout  65;


server {
    # You would want to make a separate file with its own server block for each virtual domain
    # on your server and then include them.

    listen       8069;
    listen       192.168.1.111:8080;
    listen       192.168.1.111;
    #tells Nginx the hostname and the TCP port where it should listen for HTTP connections.
    # listen 80; is equivalent to listen *:80;

#server_name  localhost;
     server_name  mydomain.com;
     server_name  www.mydomain.com;
    # lets you doname-based virtual hosting

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        #The location setting lets you configure how nginx responds to requests for resources within the server.
        root   html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }


}
}

我该怎么做?建议任何解决方案..

1 个答案:

答案 0 :(得分:0)

尝试以下服务器配置。如果您愿意,可以将其放在单独的文件中并将其包含在主nginx.conf中。

upstream odoo {
   server 127.0.0.1:8080;  # Or wherever your Odoo service is listening
}

server {
    server_name mydomain.com;
    listen       0.0.0.0:80;

    root /var/www/html/odoo/;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ @odoo;
    }

    location @odoo {
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://odoo;
    }
}

简而言之,这为您的odoo服务定义了上游服务器odoo。当收到请求(比如mydomain.com/path/to/resource)时,nginx将尝试通过从根目录提供它应该提供的相应资源来处理它。如果失败,它将重试,并为其添加斜杠。如果失败,它会将路径发送到上游服务器(odoo)进行处理。