Ubuntu下Vapor监听80端口

2017-08-09  本文已影响0人  小天枢丶

最近在研究Swift开发服务端,用的Vapor框架,遇到的问题和解决方法一一记录下来。
在Linux下普通用户默认是不能监听1024以下的端口的,我平常的做法一般是两个。

通过iptables把80端口转发到Vapor监听的端口

我用的是16.04版本,不同的版本可能有些许差异。
首先执行以下命名,设置好转发规则,8080为Vapor监听的端口。

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

然后安装iptables-persistent

sudo apt-get install iptables-persistent

最后保存规则

sudo iptables-save

通过Nginx方向代理Vapor监听的端口

首先安装Nginx。

sudo apt-get update
sudo apt-get install nginx

安装完后访问80端口应该能看到nginx的欢迎页面。
nginx的默认配置在/etc/nginx下,我们要做的就是修改/etc/nginx/nginx.conf文件。

sudo vi /etc/nginx/nginx.conf

把http段最后的

include /etc/nginx/sites-enabled/*; 

注释掉

#include /etc/nginx/sites-enabled/*; 

然后在http段中增加以下内容:

server {
        listen 80;
        server_name localhost;
        location / {
                proxy_pass http://localhost:8080;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;
        }
}

8080为Vapor监听的端口
最后重启Nginx

sudo service nginx restart

通过以上两种方法的任意一种都可以使Vapor能通过80端口访问。

上一篇下一篇

猜你喜欢

热点阅读