如何使用nginx v1.14.1从我的域名中删除端口号8080?

时间:2019-03-30 14:08:44

标签: node.js express nginx

我正在使用nodeexpressAWS Ec2 Linux,并使用8080在端口号8081pm2上运行两个Web应用程序。

将子域添加到我的弹性IP admin.example.comapp.example.com中。

我的两个应用都在localhost:8080和8081中运行。

/etc/nginx/conf.d/virtual.conf //编辑后

server {
    listen   admin.example.com:80;
    server_name  admin.example.com;
    location / {
        proxy_pass http://localhost:8080;
    }
}

/etc/nginx/conf.d/virtual.conf //编辑之前

#
# A virtual host using mix of IP-, name-, and port-based configuration
#

#server {
#    listen   8000;
#    listen   somename:8080;
#    server_name  somename  alias  another.alias;

#    location / {
#        root   html;
#        index  index.html index.htm;
#    }
#}

server.js

const express = require('express');
const bodyParser = require('body-parser')
const path = require('path');
const app = express();
app.use(express.static(path.join(__dirname, 'build')));

app.get('/login', function (req, res) {
    res.sendFile(path.join(__dirname, 'build', 'index.html'));
});

app.get('/logout', function (req, res) {
    res.sendFile(path.join(__dirname, 'build', 'index.html'));
});

app.listen('8080');
console.log('Server started at port 8080');

nginx在重新启动后运行良好,但没有从我的域中删除端口号8080。

使用端口80可以做什么?我刚刚从我的AWS Instance入站规则中启用了80,我还有什么想念的?

3 个答案:

答案 0 :(得分:2)

您正在为域提供端口。

尝试一下:

server {
      server_name admin.example.com;
      listen 80;
      location / {
        proxy_pass http://127.0.0.1:8081;
      }
}

答案 1 :(得分:1)

virtual.conf更改为:

server {
    listen   80;
    server_name  admin.example.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

并确保您已完成创建DNS记录以指向您的公共IP地址。

答案 2 :(得分:0)

问题已解决:

入站规则仅在端口::/0的源中添加了80,在删除并添加HTTP之后,像0.0.0.0/0, ::/0这样更新的源现在都可以正常运行。