Nginx是否可以代理特定的URL来隐藏脚本文件的目录?

Nginx是否可以代理特定的URL来隐藏脚本文件的目录?,nginx,matomo,Nginx,Matomo,我想使用Matomo(自托管跟踪软件,类似于Google Analytics)。JS代码段公开了一个PHP文件,该文件被调用用于跟踪(参见示例)。此PHP文件与登录文件和其他文件位于同一文件夹中,即这会为恶意爬虫暴露太多信息。因此,我想通过一个不存在或误导性的路径将URL代理到PHP文件。例如 不安全: _paq.push(['setTrackerUrl', u+'https://www.mytracker.com/exposed_installation/matomo.php']); 应该变

我想使用Matomo(自托管跟踪软件,类似于Google Analytics)。JS代码段公开了一个PHP文件,该文件被调用用于跟踪(参见示例)。此PHP文件与登录文件和其他文件位于同一文件夹中,即这会为恶意爬虫暴露太多信息。因此,我想通过一个不存在或误导性的路径将URL代理到PHP文件。例如

不安全:

_paq.push(['setTrackerUrl', u+'https://www.mytracker.com/exposed_installation/matomo.php']);
应该变得更加安全:

_paq.push(['setTrackerUrl', u+'https://www.mytracker.com/non-existing-path/matomo.php']);
这样一来,爬虫程序只能看到跟踪脚本文件,而其他一切都会导致404

那可能吗?谢谢你的建议

未经测试

location ~ ^/external/matomo\.php$
{
    …
}

location ~ ^/hidden_blablahblahblablubb/(?:index|matomo|piwik|js/index|plugins/HeatmapSessionRecording/configs)\.php$
{
    …
}

如果
matomo.php
需要其他文件,您可以使用更多(命名的)
location
s,或者使用Nginx location命令
internal
结合
rewrite
请尝试使用matomo Tracker Proxy

为什么不使用?我会很吝啬的。我在你的帖子里看到两个问题。这两个问题都可以用“是”来回答。@Yanis git谢谢。据我判断,这只保护内部文件,但仍然允许爬虫查看登录页面等,请参阅
location~ ^/(index | matomo | piwik | js/index | plugins/HeatmapSessionRecording/configs)\.php{
@qräbnö好吧,那么我也会很刻薄,请你回答这两个问题。