詹戈·赫罗库机器人.txt从生产管道中排除

2024-05-14 05:33:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在测试Heroku上的管道。在

我有一个登台应用程序和一个生产应用程序在一个管道中,我有两个问题同时出现,因此可能或不可能不相关。。。。在

第一个问题是如何在我的登台和生产应用程序上从CLI运行命令。在

This partially回答了我的问题,但不完全是。我发现解决方案是设置我的staging app as the default:git配置heroku遥控器登台

然后要运行我的生产应用程序命令,我可以运行这样的命令:heroku run python管理.pycreatesuperuser-a,--app你的应用程序名

另一个尚未解决的问题似乎有一个solution for Ruby是如何控制我的机器人.txt从登台到生产。我希望我的登台应用程序从谷歌索引等隐藏,但我不想这转移到我的生产应用程序(当然)。也许我根本不该用机器人?任何帮助都将不胜感激。。。在


Tags: the命令app应用程序defaultherokucli管道
1条回答
网友
1楼 · 发布于 2024-05-14 05:33:51

在没有任何建议的情况下,我为这个问题创建了一个解决方案,即如何在使用Heroku管道时阻止google对staging应用程序进行索引。在

问题是,当“推广”你的链接回购从登台到生产时,似乎没有明显的方法来阻止登台应用被搜索引擎索引,但同时仍然确保你的生产应用被索引。在

我决定根据IP地址通过中间件限制所有视图。现在只有特定的IP才能访问heroku上的登台应用程序。也许这不是最好的方法,但在没有其他答案的情况下,这似乎是可行的:

from django.core.exceptions import PermissionDenied
import os

def IPcheckMIddleware(get_response):

        def middleware(request, *args, **kwargs):
        herokuEnv = os.environ['IS_LIVE']
        if herokuEnv == 'FALSE':
            ip1=os.environ['IP_CHECKER']
            ip2=os.environ['IP_CHECKER_1']
            x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
            if x_forwarded_for:
                ips = x_forwarded_for.split(',')[-1]
            else:

                ips = request.META.get('REMOTE_ADDR')

            if ips in [ip1,ip2]:
                pass
            else:
                raise PermissionDenied
        else:
            pass

        response = get_response(request)


        return response

    return middleware      

希望能帮助任何有相同/相似问题的人。。。!在

相关问题 更多 >