2016-10-21 11 views
0

Ich brauche Port-Nummer von URL. Ich verwende odoo instance mit --db-filter = '^% d @', mydomain.com:8069 funktioniert einwandfrei, aber mydomain.com wird nicht gefunden. Ich habe nginx installiert und bearbeitet /etc/nginx/nginx.conf wie unten.Portnummer in URL odoo ausblenden?

/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; 
    } 


} 
} 

Wie kann ich das tun? schlagen Sie irgendwelche Lösungen vor.

+0

Sie müssen Ihre Anwendung über einen Standardport zugänglich machen. Port 80 für HTTP und Port 443 von HTTPS. –

+0

Konnte expalin wie kann ich das .. welche Datei bearbeite ich? – KbiR

+0

Sie möchten, dass Apache/Nginx Port 80 empfängt und zu Port 8069 umleitet. Wenn Sie in laufenden Odoo mit einem Reverseproxy (GOOGLE) schauen, werden Sie es finden. Hier ist eine Diskussion darüber. Da sind viele. https://www.odoo.com/forum/help-1/question/nginx-reverse-proxy-on-80-443-32052 –

Antwort

0

Versuchen Sie die folgende Serverkonfiguration. Sie können es in eine separate Datei und fügen Sie es in die Haupt nginx.conf, wenn Sie möchten.

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; 
    } 
} 

Kurz gesagt, dies definiert einen Upstream-Server odoo für Ihren odoo-Dienst. Wenn eine Anfrage empfangen wird (zB mydomain.com/path/to/resource), wird nginx versuchen, sie zu verarbeiten, indem sie die entsprechende Ressource liefert, die sie vom Root-Verzeichnis aus bedienen soll. Wenn dies fehlschlägt, wird es erneut versucht, indem ein Schrägstrich hinzugefügt wird. Wenn dies ebenfalls fehlschlägt, wird der Pfad an den Upstream-Server (odoo) zur Verarbeitung gesendet.