首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NGINX重定向特定的子域,以便在使用SSL时指向不同的网站。

使用NGINX重定向特定的子域,以便在使用SSL时指向不同的网站。
EN

Server Fault用户
提问于 2023-04-08 19:11:10
回答 1查看 36关注 0票数 1

我有以下NGINX配置:

代码语言:javascript
复制
# HTTP Redirect
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 301 https://$host$request_uri;
}

# HTTPS Server
server {
    # Port to listen on, can also be set in IP:PORT format
    listen  443 ssl;

    ssl_certificate      bitnami/certs/server.crt;
    ssl_certificate_key  bitnami/certs/server.key;

    include  "/opt/bitnami/nginx/conf/bitnami/*.conf";

    location /status {
        stub_status on;
        access_log   off;
        allow 127.0.0.1;
        deny all;
    }

    error_page 404 403 500 503 /404.html;
    location = /404.html {
        root /opt/bitnami/nginx/html;
        internal;
    }
}

这对于它所做的工作非常好,它有我的网站,并根据需要将任何HTTP重定向到HTTPS。我现在想要做的是给一个子域,比如media.website.com,我想将它重定向到一个不同的域/位置,但是保持不变。(也就是说,如果我去website.com,它仍然带我去我的主站点。)我还希望这个重定向同时适用于HTTP和HTTPS。

我怎样才能做到这一点?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2023-04-09 06:59:20

您应该添加新的server块,这样您就可以处理特定的子域了,在这里,您的配置文件中有两个新块

代码语言:javascript
复制
# HTTP Redirect
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;
    return 301 https://$host$request_uri;
}

# HTTPS Server
server {
    listen  443 ssl;

    ssl_certificate      bitnami/certs/server.crt;
    ssl_certificate_key  bitnami/certs/server.key;

    server_name website.com www.website.com;

    include  "/opt/bitnami/nginx/conf/bitnami/*.conf";

    location /status {
        stub_status on;
        access_log   off;
        allow 127.0.0.1;
        deny all;
    }

    error_page 404 403 500 503 /404.html;
    location = /404.html {
        root /opt/bitnami/nginx/html;
        internal;
    }
}

# Redirect media.website.com (HTTP)
server {
    listen 80;
    server_name media.website.com;

    return 301 https://media.website.com$request_uri;
}

# Redirect media.website.com (HTTPS)
server {
    listen 443 ssl;
    server_name media.website.com;

    ssl_certificate      bitnami/certs/server.crt;
    ssl_certificate_key  bitnami/certs/server.key;

    return 301 https://newdomain.com$request_uri;
}

我们还将server_name directive添加到现有的HTTPS服务器块中,以显式指定主域及其www子域。

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

https://serverfault.com/questions/1128219

复制
相关文章

相似问题

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