Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx是为SSL配置的,配置?_Ssl_Nginx_Client Certificates - Fatal编程技术网

Nginx是为SSL配置的,配置?

Nginx是为SSL配置的,配置?,ssl,nginx,client-certificates,Ssl,Nginx,Client Certificates,我已经用SSL配置了Nginx。当用户访问该站点时,它会请求证书,这很好。如果我想在不需要证书的情况下访问我网站的某个特定页面,如何实现这一点?对我来说,一个重要的因素是保留所有其他需要证书的页面,并且只保留一个不需要证书的页面。非常感谢您的帮助。这对于nginx来说并不容易。您可以将ssl\u验证\u客户端设置为可选,但是您需要手动检查$ssl\u client\u verify变量 有关详细信息,请参阅。Nginx查找最长的匹配位置,以便您可以指定异常,然后将所有其他流量传递给https,如

我已经用SSL配置了Nginx。当用户访问该站点时,它会请求证书,这很好。如果我想在不需要证书的情况下访问我网站的某个特定页面,如何实现这一点?对我来说,一个重要的因素是保留所有其他需要证书的页面,并且只保留一个不需要证书的页面。非常感谢您的帮助。

这对于
nginx
来说并不容易。您可以将
ssl\u验证\u客户端设置为可选
,但是您需要手动检查
$ssl\u client\u verify
变量


有关详细信息,请参阅。

Nginx查找最长的匹配位置,以便您可以指定异常,然后将所有其他流量传递给https,如下所示:

server {
    listen 443;

    location /exception/ {  # redirect https requests to http server
        return 301 http://$server_name$request_uri;
    }
    # ...
}

server {
    listen 80;

    location / {  # the default location redirects to https
        return 301 https://$server_name$request_uri;
    }

    location /exception/ {}  # do not redirect requests
    # ...
}

我希望这会有所帮助。

您将始终需要证书才能将任何url作为https提供服务。您可以改为允许一个特定的URL用作http,并将任何其他重定向到其https模拟地址