[fix] Fix the issue alias_traversal (#45)

* Fix the issue alias_traversal

https://github.com/yandex/gixy/blob/master/docs/en/plugins/aliastraversal.md

* Update fix alias_traversal

* Don't change original nginx conf file and add change_url

* Use newest version of ynh_add_nginx_config from #462
No more need to deal with "#sub_path_only"

* Revert "Use newest version of ynh_add_nginx_config from #462" as it's not released (and subject to discussions)!

This reverts commit fac62c49ff.

* Fix indentation
master
Maniack Crudelis 7 years ago committed by ljf (zamentur)
parent f24034fcfc
commit d3f4117369

@ -1,4 +1,5 @@
location __PATH__ { #sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
location __PATH__/ {
# Path to source # Path to source
alias __FINALPATH__/ ; alias __FINALPATH__/ ;

@ -59,12 +59,17 @@ if [ $change_path -eq 1 ]
then then
# Make a backup of the original nginx config file if modified # Make a backup of the original nginx config file if modified
ynh_backup_if_checksum_is_different "$nginx_conf_path" ynh_backup_if_checksum_is_different "$nginx_conf_path"
# Replace locations starting with old_path # Set global variables for nginx helper
# Look for every location possible patterns (see https://nginx.org/en/docs/http/ngx_http_core_module.html#location) domain="$old_domain"
ynh_replace_string "location\( \(=\|~\|~\*\|\^~\)\)\? $old_path" "location\1 $new_path" "$nginx_conf_path" path_url="$new_path"
# Replace path in "return" directives # Store path_url setting
ynh_replace_string "return \([[:digit:]]\{3\}\) $old_path" "return \1 $new_path" "$nginx_conf_path" ynh_app_setting_set $app path_url "$path_url"
# Calculate and store the nginx config file checksum # Create a dedicated nginx config
ynh_add_nginx_config
if [ "$path_url" != "/" ]
then
ynh_replace_string "^#sub_path_only " "" "$nginx_conf_path"
fi
ynh_store_file_checksum "$nginx_conf_path" ynh_store_file_checksum "$nginx_conf_path"
fi fi

@ -105,6 +105,11 @@ ynh_setup_source "$final_path"
# Create a dedicated nginx config # Create a dedicated nginx config
ynh_add_nginx_config ynh_add_nginx_config
if [ "$path_url" != "/" ]
then
ynh_replace_string "^#sub_path_only" "" "/etc/nginx/conf.d/$domain.d/$app.conf"
fi
ynh_store_file_checksum "/etc/nginx/conf.d/$domain.d/$app.conf"
#================================================= #=================================================
# CREATE DEDICATED USER # CREATE DEDICATED USER

@ -83,6 +83,11 @@ ynh_setup_source "$final_path"
# Create a dedicated nginx config # Create a dedicated nginx config
ynh_add_nginx_config ynh_add_nginx_config
if [ "$path_url" != "/" ]
then
ynh_replace_string "^#sub_path_only" "" "/etc/nginx/conf.d/$domain.d/$app.conf"
fi
ynh_store_file_checksum "/etc/nginx/conf.d/$domain.d/$app.conf"
#================================================= #=================================================
# CREATE DEDICATED USER # CREATE DEDICATED USER

Loading…
Cancel
Save