@@ -61,7 +61,6 @@ static md_mod_conf_t defmc = {
6161#else
6262 MD_DEFAULT_BASE_DIR ,
6363#endif
64- NULL , /* proxy url for outgoing http */
6564 NULL , /* md_reg_t */
6665 NULL , /* md_ocsp_reg_t */
6766 80 , /* local http: port */
@@ -127,6 +126,7 @@ static md_srv_conf_t defconf = {
127126 1 , /* staple others */
128127 1 , /* ACME ARI renewals */
129128 NULL , /* dns01_cmd */
129+ NULL , /* proxy URL */
130130 NULL , /* currently defined md */
131131 NULL , /* assigned md, post config */
132132 0 , /* is_ssl, set during mod_ssl post_config */
@@ -185,6 +185,7 @@ static void srv_conf_props_clear(md_srv_conf_t *sc)
185185 sc -> staple_others = DEF_VAL ;
186186 sc -> ari_renewals = DEF_VAL ;
187187 sc -> dns01_cmd = NULL ;
188+ sc -> proxy_url = NULL ;
188189}
189190
190191static void srv_conf_props_copy (md_srv_conf_t * to , const md_srv_conf_t * from )
@@ -209,6 +210,7 @@ static void srv_conf_props_copy(md_srv_conf_t *to, const md_srv_conf_t *from)
209210 to -> staple_others = from -> staple_others ;
210211 to -> ari_renewals = from -> ari_renewals ;
211212 to -> dns01_cmd = from -> dns01_cmd ;
213+ to -> proxy_url = from -> proxy_url ;
212214}
213215
214216static void srv_conf_props_apply (md_t * md , const md_srv_conf_t * from , apr_pool_t * p )
@@ -236,6 +238,7 @@ static void srv_conf_props_apply(md_t *md, const md_srv_conf_t *from, apr_pool_t
236238 if (from -> ari_renewals != DEF_VAL ) md -> ari_renewals = from -> ari_renewals ;
237239 if (from -> stapling != DEF_VAL ) md -> stapling = from -> stapling ;
238240 if (from -> dns01_cmd ) md -> dns01_cmd = from -> dns01_cmd ;
241+ if (from -> proxy_url ) md -> proxy_url = from -> proxy_url ;
239242}
240243
241244void * md_config_create_svr (apr_pool_t * pool , server_rec * s )
@@ -285,6 +288,7 @@ static void *md_config_merge(apr_pool_t *pool, void *basev, void *addv)
285288 nsc -> staple_others = (add -> staple_others != DEF_VAL )? add -> staple_others : base -> staple_others ;
286289 nsc -> ari_renewals = (add -> ari_renewals != DEF_VAL )? add -> ari_renewals : base -> ari_renewals ;
287290 nsc -> dns01_cmd = (add -> dns01_cmd )? add -> dns01_cmd : base -> dns01_cmd ;
291+ nsc -> proxy_url = (add -> proxy_url )? add -> proxy_url : base -> proxy_url ;
288292 nsc -> current = NULL ;
289293
290294 return nsc ;
@@ -865,14 +869,20 @@ static const char *md_config_set_proxy(cmd_parms *cmd, void *arg, const char *va
865869 md_srv_conf_t * sc = md_config_get (cmd -> server );
866870 const char * err ;
867871
868- if ((err = md_conf_check_location (cmd , MD_LOC_NOT_MD ))) {
872+ if ((err = md_conf_check_location (cmd , MD_LOC_ALL ))) {
869873 return err ;
870874 }
871875 md_util_abs_http_uri_check (cmd -> pool , value , & err );
872876 if (err ) {
873877 return err ;
874878 }
875- sc -> mc -> proxy_url = value ;
879+
880+ if (inside_md_section (cmd )) {
881+ sc -> proxy_url = value ;
882+ } else {
883+ apr_table_set (sc -> mc -> env , MD_KEY_PROXY_URL , value );
884+ }
885+
876886 (void )arg ;
877887 return NULL ;
878888}
@@ -1471,8 +1481,6 @@ const char *md_config_gets(const md_srv_conf_t *sc, md_config_var_t var)
14711481 return sc -> ca_proto ? sc -> ca_proto : defconf .ca_proto ;
14721482 case MD_CONFIG_BASE_DIR :
14731483 return sc -> mc -> base_dir ;
1474- case MD_CONFIG_PROXY :
1475- return sc -> mc -> proxy_url ;
14761484 case MD_CONFIG_CA_AGREEMENT :
14771485 return sc -> ca_agreement ? sc -> ca_agreement : defconf .ca_agreement ;
14781486 case MD_CONFIG_NOTIFY_CMD :
0 commit comments