美文网首页
Ubuntu下Vapor监听80端口

Ubuntu下Vapor监听80端口

作者: 小天枢丶 | 来源:发表于2017-08-09 09:45 被阅读0次

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

    • 通过iptables把80端口转发到Vapor监听的端口
    • 通过Nginx方向代理Vapor监听的端口
      (如果是用腾讯云或阿里云的服务器请先查看服务器的安全组有没有开放80端口)

    通过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端口访问。

    相关文章

      网友评论

          本文标题:Ubuntu下Vapor监听80端口

          本文链接:https://www.haomeiwen.com/subject/vubplxtx.html