redirect - 特定子页面的 Nginx/Django SSL 配置

标签 redirect ssl nginx https

我有一个带 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(我购买证书的地方)以及我能想到的任何其他地方,搜索了几个小时但找不到任何东西,所以非常欢迎任何帮助。

最佳答案

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

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

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

关于redirect - 特定子页面的 Nginx/Django SSL 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20480605/

相关文章:

java - Spring 安全。删除一个拦截 URL 后不重定向到登录页面

regex - Tuckey URL 重写过滤器的 "Exceptional"规则

php - 在 PHP 中响应来自客户端站点的 Https POST 请求

php - CORS : Accessing ssl endpoint from non ssl site

reactjs - 使用 react 和 express(nginx、docker)建立 web-socket 通信

redirect - nginx 重定向掩码

redirect - 书签页面重定向

java - 保护 Android 应用程序免受网络嗅探

http - 是否可以更改 nginx 中 proxy_pass 网关关闭时返回的 HTTP 状态代码?

session 开始() : Session callback expects true/false return value in