繁体   English   中英

Nginx将http子域重定向到https

[英]Nginx redirect http subdomains to https

我有一个带有3个子域的域:

- example.com (main domain)
 - api.example.com
 - blog.example.com
 - support.example.com (just a cname to point to zendesk)

我在Nginx上有以下3个配置:

api

# HTTP server
server {
    listen       80;
    server_name  api.example.com;
    return 301 https://api.example.com$request_uri;
}


# HTTPS server
server {
    ssl          on;
    listen       443;
    server_name  api.example.com;

    ssl_certificate APIcert.crt;
    ssl_certificate_key APIcert.key;

    #root configuration.....
}

博客

server {
    listen 80;
    server_name blog.example.com;

    root /var/www/blog;
    index index.php index.html index.htm;

站点/主域

server {
    listen 80;
    listen 443 ssl;
    server_name www.example.com;
    return 301 https://example.com$request_uri;

    location ~ \.(php|html)$ {
        deny  all;
    }
}

server {
    listen 80;
    server_name example.com;
    return 301 https://example.com$request_uri;

    location ~ \.(php|html)$ {
        deny  all;
    }
}

server {
    ssl on;
    listen 443 ssl;
    ssl_certificate  mycert.crt;
    ssl_certificate_key  mycert.key;
    server_name example.com;

    root /var/www/frontend;
    .....
}

我的问题

您的Web服务器设置为Strict-Transport-Security max-age=16070400; includeSubdomains Strict-Transport-Security max-age=16070400; includeSubdomains

这将告诉网络浏览器仅使用https请求您的域。 如果要通过不安全的http访问子域blog ,则需要从HTTP严格传输安全性(HSTS)中删除includeSubdomains ,并使用其他浏览器(或清除Firefox)。

https://www.ssllabs.com/ssltest/analyze.html?d=alooga.com.br

您收到SSL错误消息是因为您没有blog.alooga.com.br域的SSL证书。

SSL错误消息供您参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM