首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按路径配置nginx vhosts

按路径配置nginx vhosts
EN

Stack Overflow用户
提问于 2021-04-23 13:58:01
回答 2查看 132关注 0票数 1

我希望通过路径中的第一项为我的项目提供服务,例如,http://example.com/projectname应该为/usr/share/nginx/html/projectname中的项目提供服务。

下面是我的配置:

代码语言:javascript
复制
server {
    listen 80;
    server_name example.com www.example.com;
    rewrite ^/(.*) https://example.com/$1 permanent;
}

server {
    listen       443 ssl;
    listen       [::]:443 ssl;

    ssl_certificate "/etc/ssl/XX.pem";
    ssl_certificate_key "/etc/ssl/XX.key";
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    server_name  example.com/$1 www.example.com/$1;

    access_log /var/log/nginx/nginx.vhost.access.log;
    error_log /var/log/nginx/nginx.vhost.error.log;

    location /projectname {
        root   /usr/share/nginx/html/projectname ;
        index  index.html;

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

观察:当我访问配置的域名时,它会路由到nginx defualt页面,而不是显示预期的项目。

EN

回答 2

Stack Overflow用户

发布于 2021-04-27 01:35:30

3个变化:

在第二个服务器数据块中,不要重写,而是在第二个服务器数据块中返回301

  • ,不要在server_names

  • remove /$1的末尾从location /projectname block

返回/$1

代码语言:javascript
复制
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://example.com/$request_uri;
}

server {
    listen       443 ssl;
    listen       [::]:443 ssl;

    ssl_certificate "/etc/ssl/XX.pem";
    ssl_certificate_key "/etc/ssl/XX.key";
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    server_name  example.com www.example.com;

    access_log /var/log/nginx/nginx.vhost.access.log;
    error_log /var/log/nginx/nginx.vhost.error.log;

    location /projectname {
        root /usr/share/nginx/html/projectname ;

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

试试这个,它应该会起作用。

票数 1
EN

Stack Overflow用户

发布于 2021-04-23 14:21:45

主机1:在您的机器中打开 sudo vi /etc/hosts文件

2: 127.0.0.1 example.com www.example.com

3:保存并退出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67224669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档