【问题标题】:Nginx/Django SSL Configuration for a specific sub page特定子页面的 Nginx/Django SSL 配置
【发布时间】:2013-12-27 03:38:13
【问题描述】:

我有一个带有 Django 的 nginx/gunicorn/supervisor/posrgresql 服务器。我从该服务器提供两个网页,每个网页都有自己的 nginx conf 文件。我已经购买并下载了 SSL 证书,它们在某些情况下可以使用。

我的 nginx 配置文件如下所示:

server {
    listen 80;
    server_name name.org;
    return 301 https://www.name.org;
{

server {
    listen 80;
    listen 443 ssl;
    server_name www.name.org;

    ssl_certificate...

}

等等。我想要发生的是这样的:

要么

1.) 包含所有页面 https 的整个网站

或

2.) 一个带有 https 的特定子页面,例如https://www.name.org/page,无论您如何到达那里,name.org/page、https://www.name.org/page、www.name.org/page、内部链接等。关键是我需要通过 SSL 提供该页面。

目前,name.org 将您带到我的主页 https。 www.name.org 没有。我可以转到我网站上的任何页面,然后在地址栏中输入该页面名称,例如https://www.name.org/anypage,它会重新加载绿色锁。

我一直在查看 stackoverflow、nginx 文档、godaddy(我购买证书的地方)以及其他任何我想搜索几个小时但找不到任何东西的地方,因此非常欢迎任何帮助。

【问题讨论】:

    标签: redirect ssl nginx https


    【解决方案1】:

    更改您的第一个 server 块以包含 www 子域:

    server {
        listen 80;
        server_name name.org www.name.org;
        return 301 https://www.name.org;
    }
    

    这会将http://name.org 和http://www.name.org 重定向到https://www.name.org。完成此操作后,您可以从第二个 server 块中删除 listen 80;,因为第一个包含该名称/端口组合,从那时起您将只处理 ssl 版本。

    【讨论】:

    • 这非常有效 - 非常感谢。不过,我现在明白为什么人们通常不这样做了,因为它确实减慢了我的网站速度。
    猜你喜欢
    • 2020-05-06
    • 2015-02-17
    • 2010-10-03
    • 2015-07-01
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多