vue+koa部署到服务器路径问题

发布于 2022-09-11 20:31:20 字数 801 浏览 16 评论 0

assetsPublicPath我设置的是:assetsPublicPath:'/'
router里面index.js我设置的是:base:'/admin/'
然后koa中app.js我设置的是app.use(koaStatic(path.join(__dirname, '/admin')));
nginx设置的是:

    listen 80;
    server_name 我的域名;
    
       location / {
        root /var/www/我的域名/admin;
        index index.html;
        error_page 401 /index.html;
        proxy_redirect     off;
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
           proxy_pass  http://127.0.0.1:8879;
       }

结果是访问 域名 或者 域名/admin 都可以访问,但我希望的是只能通过 域名/admin访问,各种尝试了都有问题,下面是我的目录结构,admin文件夹里面是我vue打包后的静态文件
clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沉默的熊 2022-09-18 20:31:20

assetsPublicPath应该也是admin吧
下面是我的vue项目配置,不知道koa和vue会不会有区别
如果根目录不想显示admin项目的话,就给他个别的

 server {
        listen       80;
        server_name  www.abc.com;
        rewrite ^(.*)$ https://${server_name}$1 permanent; 
    }


    # another 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;
    #    }
    #}


    # HTTPS server
    server {
        listen       443;
        server_name  www.abc.com;

        ssl                  on;
        ssl_certificate     server.crt;
        ssl_certificate_key server.key;

        ssl_session_timeout  5m;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_prefer_server_ciphers   on;

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

        location /admin/ {
            root /frontend/admin/;
            index index.html index.htm ;
            if (!-e $request_filename) {
                 rewrite ^/(.*) /admin/index.html last;
                 break;
            }
        }
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文