nginx -AWS EC2 -Angular Subpath不能直接请求

时间:2018-05-10 18:22:25

标签: angular nginx angular5

我在AWS ec2实例上托管了我的角度项目。 实例已成功完成,网站正常运行。

什么时候提出要求 www.abc.com它可以工作,但是当我向www.abc.com/login提出要求时 它返回nginx错误

404未找到

app.routing.ts

const routes: Routes = [
{
    path: '',
    loadChildren: './layout/layout.module#LayoutModule',
     canActivate: [AuthGuard]
},
{ path: 'signup', loadChildren: './signup/signup.module#SignupModule' },
{ path: 'login', loadChildren: './login/login.module#LoginModule' },
{ path: 'not-found', loadChildren: './not-found/not-found.module#NotFoundModule' },
{ path: '**', redirectTo: 'not-found' },

];

服务器配置nginx(已启用网站)

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/myfolder;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {

                try_files $uri $uri/ =404;
        }

这是角度代码问题还是服务器配置问题? 怎么解决这个问题?

1 个答案:

答案 0 :(得分:0)

我必须使用index.html更改= 404

正确的配置是

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/myfolder;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name www.abc.com;

        location / {

                try_files $uri $uri/ /index.html;
        }