new changes
This commit is contained in:
@@ -126,9 +126,10 @@ def _build_ssl_server_block(
|
||||
f" error_page 404 /404.html;\n"
|
||||
f" error_page 502 /502.html;\n"
|
||||
f" location ^~ /.well-known/acme-challenge/ {{\n"
|
||||
f" root {root_path};\n"
|
||||
f' default_type "text/plain";\n'
|
||||
f" allow all;\n"
|
||||
f" try_files $uri =404;\n"
|
||||
f" access_log off;\n"
|
||||
f" }}\n"
|
||||
f"{redirect_block}\n"
|
||||
r" location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {" + "\n"
|
||||
@@ -480,16 +481,17 @@ async def set_site_status(db: AsyncSession, site_id: int, status: int) -> dict:
|
||||
|
||||
|
||||
async def regenerate_site_vhost(db: AsyncSession, site_id: int) -> dict:
|
||||
"""Regenerate nginx vhost for a site (e.g. after redirect changes)."""
|
||||
"""Regenerate nginx vhost for a site (e.g. after redirect changes or before LE validation)."""
|
||||
result = await db.execute(select(Site).where(Site.id == site_id))
|
||||
site = result.scalar_one_or_none()
|
||||
if not site:
|
||||
return {"status": False, "msg": "Site not found"}
|
||||
cfg = get_runtime_config()
|
||||
vhost_path = os.path.join(cfg["setup_path"], "panel", "vhost", "nginx")
|
||||
conf_path = os.path.join(vhost_path, f"{site.name}.conf")
|
||||
if site.status != 1:
|
||||
return {"status": True, "msg": "Site disabled, vhost not active"}
|
||||
conf_path, disabled_path = _vhost_path(site.name)
|
||||
if site.status == 1:
|
||||
write_path = conf_path
|
||||
else:
|
||||
write_path = disabled_path if os.path.isfile(disabled_path) else conf_path
|
||||
panel_root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
template_path = os.path.join(panel_root, "webserver", "templates", "nginx_site.conf")
|
||||
if not os.path.exists(template_path):
|
||||
@@ -507,7 +509,7 @@ async def regenerate_site_vhost(db: AsyncSession, site_id: int) -> dict:
|
||||
content = _render_vhost(
|
||||
template, server_names, site.path, cfg["www_logs"], site.name, php_ver, fhttps, redirects, le_hosts
|
||||
)
|
||||
write_file(conf_path, content)
|
||||
write_file(write_path, content)
|
||||
nginx_bin = os.path.join(cfg["setup_path"], "nginx", "sbin", "nginx")
|
||||
if os.path.exists(nginx_bin):
|
||||
exec_shell_sync(f"{nginx_bin} -t && {nginx_bin} -s reload")
|
||||
|
||||
Reference in New Issue
Block a user