如何将流量从端口80转发到另一个端口

时间:2014-12-22 14:06:58

标签: ubuntu openerp iptables odoo

我正在运行ubuntu,我想将请求从端口80转发到另一个端口,即8069,我正在运行我的openerp服务器......

我需要什么规则或bash脚本来解决这个问题?

1 个答案:

答案 0 :(得分:5)

是的,您所指的是一个反向代理,您可以使用Nginx轻松设置一个

首先,安装Nginx

sudo apt-get install nginx

然后启动Nginx

sudo service nginx start

访问您服务器的IP地址,看看它是否有效。 如果您看到"欢迎使用nginx!",那么您就走在了正确的轨道上

删除Nginx默认配置

sudo rm /etc/nginx/sites-enabled/default

然后

sudo service nginx restart

再次访问您服务器的IP地址。 这一次,您应该看到" 503 Bad Gateway"。没关系,这就是你想要的东西

接下来,制作一个新文件

sudo nano /etc/nginx/conf.d/openerp.conf

将其粘贴到其中,替换" yourhostname.com"使用您服务器的主机名(或者您将在此处投放的域名,如果您将其放在网络上)

#worker_processes  1;

#events {
#    worker_connections  1024;
#}

    server {
        listen  80;
        server_name yourhostname.com;
        location /socket.io {
            proxy_pass   http://127.0.0.1:8068;
            proxy_http_version 1.1;

            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            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_set_header X-Forwarded-Proto https;

            proxy_redirect off;
         }

        location / {
            proxy_pass   http://127.0.0.1:8069;
        }
    }

重新启动Nginx

sudo service nginx restart

现在再次访问您服务器的IP地址。如果您获得了OpenERP登录屏幕,那么您就可以了!如果没有,请检查控制台是否有任何错误,启动nginx,修复/etc/nginx/conf.d/openerp.conf,然后重试