mirror of
https://github.com/nginx/nginx.git
synced 2025-06-07 17:52:38 +08:00
ssl_session_cache none
This commit is contained in:
parent
4c8eb4263f
commit
d6548faf64
@ -1267,6 +1267,29 @@ ngx_ssl_session_cache(ngx_ssl_t *ssl, ngx_str_t *sess_ctx,
|
|||||||
return NGX_OK;
|
return NGX_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (builtin_session_cache == NGX_SSL_NONE_SCACHE) {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the server explicitly says that it does not support
|
||||||
|
* session reuse (see SSL_SESS_CACHE_OFF above), then
|
||||||
|
* Outlook Express fails to upload a sent email to
|
||||||
|
* the Sent Items folder on the IMAP server via a separate IMAP
|
||||||
|
* connection in the background. Therefore we have a special
|
||||||
|
* mode (SSL_SESS_CACHE_SERVER|SSL_SESS_CACHE_NO_INTERNAL_STORE)
|
||||||
|
* where the server pretends that it supports session reuse,
|
||||||
|
* but it does not actually store any session.
|
||||||
|
*/
|
||||||
|
|
||||||
|
SSL_CTX_set_session_cache_mode(ssl->ctx,
|
||||||
|
SSL_SESS_CACHE_SERVER
|
||||||
|
|SSL_SESS_CACHE_NO_AUTO_CLEAR
|
||||||
|
|SSL_SESS_CACHE_NO_INTERNAL_STORE);
|
||||||
|
|
||||||
|
SSL_CTX_sess_set_cache_size(ssl->ctx, 1);
|
||||||
|
|
||||||
|
return NGX_OK;
|
||||||
|
}
|
||||||
|
|
||||||
cache_mode = SSL_SESS_CACHE_SERVER;
|
cache_mode = SSL_SESS_CACHE_SERVER;
|
||||||
|
|
||||||
if (shm_zone && builtin_session_cache == NGX_SSL_NO_BUILTIN_SCACHE) {
|
if (shm_zone && builtin_session_cache == NGX_SSL_NO_BUILTIN_SCACHE) {
|
||||||
|
@ -51,9 +51,10 @@ typedef struct {
|
|||||||
} ngx_ssl_connection_t;
|
} ngx_ssl_connection_t;
|
||||||
|
|
||||||
|
|
||||||
#define NGX_SSL_DFLT_BUILTIN_SCACHE -2
|
#define NGX_SSL_NO_SCACHE -2
|
||||||
#define NGX_SSL_NO_BUILTIN_SCACHE -3
|
#define NGX_SSL_NONE_SCACHE -3
|
||||||
#define NGX_SSL_NO_SCACHE -4
|
#define NGX_SSL_NO_BUILTIN_SCACHE -4
|
||||||
|
#define NGX_SSL_DFLT_BUILTIN_SCACHE -5
|
||||||
|
|
||||||
|
|
||||||
#define NGX_SSL_MAX_SESSION_SIZE 4096
|
#define NGX_SSL_MAX_SESSION_SIZE 4096
|
||||||
|
@ -415,7 +415,7 @@ ngx_http_ssl_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngx_conf_merge_value(conf->builtin_session_cache,
|
ngx_conf_merge_value(conf->builtin_session_cache,
|
||||||
prev->builtin_session_cache, NGX_SSL_NO_SCACHE);
|
prev->builtin_session_cache, NGX_SSL_NONE_SCACHE);
|
||||||
|
|
||||||
if (conf->shm_zone == NULL) {
|
if (conf->shm_zone == NULL) {
|
||||||
conf->shm_zone = prev->shm_zone;
|
conf->shm_zone = prev->shm_zone;
|
||||||
@ -452,6 +452,11 @@ ngx_http_ssl_session_cache(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ngx_strcmp(value[i].data, "none") == 0) {
|
||||||
|
sscf->builtin_session_cache = NGX_SSL_NONE_SCACHE;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (ngx_strcmp(value[i].data, "builtin") == 0) {
|
if (ngx_strcmp(value[i].data, "builtin") == 0) {
|
||||||
sscf->builtin_session_cache = NGX_SSL_DFLT_BUILTIN_SCACHE;
|
sscf->builtin_session_cache = NGX_SSL_DFLT_BUILTIN_SCACHE;
|
||||||
continue;
|
continue;
|
||||||
|
@ -261,7 +261,7 @@ ngx_mail_ssl_merge_conf(ngx_conf_t *cf, void *parent, void *child)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngx_conf_merge_value(conf->builtin_session_cache,
|
ngx_conf_merge_value(conf->builtin_session_cache,
|
||||||
prev->builtin_session_cache, NGX_SSL_NO_SCACHE);
|
prev->builtin_session_cache, NGX_SSL_NONE_SCACHE);
|
||||||
|
|
||||||
if (conf->shm_zone == NULL) {
|
if (conf->shm_zone == NULL) {
|
||||||
conf->shm_zone = prev->shm_zone;
|
conf->shm_zone = prev->shm_zone;
|
||||||
@ -298,6 +298,11 @@ ngx_mail_ssl_session_cache(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ngx_strcmp(value[i].data, "none") == 0) {
|
||||||
|
scf->builtin_session_cache = NGX_SSL_NONE_SCACHE;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (ngx_strcmp(value[i].data, "builtin") == 0) {
|
if (ngx_strcmp(value[i].data, "builtin") == 0) {
|
||||||
scf->builtin_session_cache = NGX_SSL_DFLT_BUILTIN_SCACHE;
|
scf->builtin_session_cache = NGX_SSL_DFLT_BUILTIN_SCACHE;
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user