标签: http-status-code-403

Spark 正在发明他自己的 AWS secretKey

我正在尝试从 Spark 读取 s3 存储桶直到今天 Spark 总是抱怨请求返回 403

hadoopConf = spark_context._jsc.hadoopConfiguration()
hadoopConf.set("fs.s3a.access.key", "ACCESSKEY")
hadoopConf.set("fs.s3a.secret.key", "SECRETKEY")
hadoopConf.set("fs.s3a.impl", "org.apache.hadoop.fs.s3a.S3AFileSystem")
logs = spark_context.textFile("s3a://mybucket/logs/*)
Run Code Online (Sandbox Code Playgroud)

Spark 说......无效的访问密钥 [ACCESSKEY]

但是,使用相同的 ACCESSKEY 和 SECRETKEY 这与 aws-cli 一起使用

aws s3 ls mybucket/logs/
Run Code Online (Sandbox Code Playgroud)

在 python boto3 中这是有效的

resource = boto3.resource("s3", region_name="us-east-1")
resource.Object("mybucket", "logs/text.py") \
            .put(Body=open("text.py", "rb"),ContentType="text/x-py")
Run Code Online (Sandbox Code Playgroud)

所以我的凭据无效,问题肯定出在 Spark 上。

今天我决定打开整个 Spark 的“调试”日志,令我惊讶的是...... Spark 没有使用我提供的 [SECRETKEY] 而是......添加一个随机的???

17/03/08 10:40:04 DEBUG 请求:发送请求:HEAD https://mybucket.s3.amazonaws.com / Headers:(授权:AWS ACCESSKEY[RANDON-SECRET-KEY],用户代理:aws -sdk-java/1.7.4 Mac_OS_X/10.11.6 Java_HotSpot(TM)_64-Bit_Server_VM/25.65-b01/1.8.0_65,日期:2017 年 3 月 8 日星期三 10:40:04 GMT,内容类型:application/x -www-form-urlencoded; charset=utf-8, …

amazon-s3 access-keys amazon-web-services http-status-code-403 apache-spark

8
推荐指数
1
解决办法
4397
查看次数

Instagram 基本显示返回带有 Bad Url Timestamp 消息的媒体 URL

将Instagram Basic 显示 API与我的网站集成。一切正常。从最近几天开始,一些媒体 URL 抛出错误代码403 ,并显示错误的 Url Timestamp消息(这些媒体之前工作正常)。我尝试刷新访问令牌并创建一个新的访问令牌,但没有任何帮助。并非所有媒体,但只有少数媒体给出了这个错误。

给出错误的 url

https://scontent-lht6-1.cdninstagram.com/v/t51.2885-15/128209372_3881072401959620_4985839256926707810_n.jpg?_nc_cat=108&ccb=2&_nc_sid=8ae9d6&_nc_ohc=KduPs8x3j 9QAX944ddk&_nc_ht=scontent-lht6-1.cdninstagram.com&oh=3917991f8e3aaffbcf5f3017a9d78f26&oe=6002114

有人可以帮忙吗?蒂亚!

url timestamp http-status-code-403 instagram instagram-api

8
推荐指数
1
解决办法
5365
查看次数

Apache DirectorySlash Off - 站点中断

如果我DirectorySlash Off在我的.htaccess文件中设置并调用没有尾部斜杠的目录403-Forbidden,我从我的服务器获取.如果我用斜线调用它一切正常.

谁有人解释为什么?这是我完全匿名的.htaccess:

# GLOBAL CONFIG
Options +FollowSymlinks
DirectorySlash Off
AddDefaultCharset utf-8
php_value post_max_size 256M
php_value upload_max_filesize 256M

# BEGIN WordPress
RewriteEngine On
RewriteBase /folder/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /folder/index.php [L]
# END WordPress

# REMOVE WWW
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

apache .htaccess http-status-code-403

7
推荐指数
2
解决办法
1万
查看次数

如何在nginx上拒绝使用404

我想通过提供deny/allow指令来保护nginx中的某些位置,但我不希望局外人知道位置被拒绝.我希望局外人获得404,而不是403 http代码.我的配置代码段是

location /admin/ {
    uwsgi_pass myupstream1;
    include /path/to/uwsgi_params;

    allow 127.0.0.1;
    deny all;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试访问/ admin/nginx使用HTTP 403响应时,但我希望它以HTTP 404响应.任何配方都可以吗?

security nginx http-status-code-403 http-status-code-404

7
推荐指数
2
解决办法
8405
查看次数

403 S3 REST API HEAD请求上的禁止错误403

我正在尝试对S3 REST API执行HEAD对象请求但我仍然收到403 Forbidden错误,即使我在S3上具有必要权限的策略设置.响应主体是空的,所以我不认为它是一个签名问题.我已经尝试了几项政策变更,似乎没有任何改变.我能够正常PUT对象和DELETE对象,只是HEAD不起作用.

这是我的存储桶政策:

{
"Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam:: 999999999999:user/User"
        },
        "Action": "s3:ListBucket",
        "Resource": "arn:aws:s3:::my-bucket"
    },
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "*"
        },
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::my-bucket/*"
    },
    {
        "Sid": "",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::999999999999:user/User"
        },
        "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:PutObject"
        ],
        "Resource": "arn:aws:s3:::my-bucket/*"
    }
]
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

更新:

正如迈克尔指出的那样,我的签名似乎是一个问题,尽管我没有看到什么.

def generate_url options={}
options[:action] = options[:action].to_s.upcase
options[:expires] ||= Time.now.to_i + 100
file_path = "/" + @bucket_name + "/" + options[:file_name] …
Run Code Online (Sandbox Code Playgroud)

rest amazon-s3 http-status-code-403

7
推荐指数
3
解决办法
8403
查看次数

使用客户端SSL证书并生成HTTP 403错误时iOS 9中的错误

我认为我们刚刚发现iOS 9(2015年10月23日版)的一个错误,当时使用客户端SSL证书与后端API通信.与许多REST服务一样,我们的API生成4xx错误代码以传达状态.其中一个是当客户端尝试访问特定客户端ID无权访问的路径时出现403 Forbidden错误.请注意,在客户端SSL证书设置了有效连接并且客户端ID已经过身份验证之后,会发生此HTTP错误.

在iOS 9中,此序列将生成无效的客户端SSL错误:

FAILED: Error Domain=NSURLErrorDomain Code=-1206 "The server “our.server.here” requires a client certificate."

(注意:这是我的推文的后续内容:https://twitter.com/ckmaresca/status/657576686318256128 - 我认为SO是大多数人会搜索的地方)

ssl client-certificates http-status-code-403 ios app-transport-security

7
推荐指数
1
解决办法
1055
查看次数

(python)Spark .textFile(s3:// ...)使用有效凭据拒绝403

为了访问我的S3存储桶,我已经导出了我的信用卡

export AWS_SECRET_ACCESS_KEY=
export AWS_ACCESSS_ACCESS_KEY=
Run Code Online (Sandbox Code Playgroud)

我可以验证一切正常

aws s3 ls mybucket
Run Code Online (Sandbox Code Playgroud)

我也可以用boto3验证它在python中有效

resource = boto3.resource("s3", region_name="us-east-1")
resource.Object("mybucket", "text/text.py") \
            .put(Body=open("text.py", "rb"),ContentType="text/x-py")
Run Code Online (Sandbox Code Playgroud)

这有效,我可以在桶中看到该文件.

但是,当我使用spark执行此操作时:

spark_context = SparkContext()
sql_context = SQLContext(spark_context)
spark_context.textFile("s3://mybucket/my/path/*)
Run Code Online (Sandbox Code Playgroud)

我很高兴

> Caused by: org.jets3t.service.S3ServiceException: Service Error
> Message. -- ResponseCode: 403, ResponseStatus: Forbidden, XML Error
> Message: <?xml version="1.0"
> encoding="UTF-8"?><Error><Code>InvalidAccessKeyId</Code><Message>The
> AWS Access Key Id you provided does not exist in our
> records.</Message><AWSAccessKeyId>[MY_ACCESS_KEY]</AWSAccessKeyId><RequestId>XXXXX</RequestId><HostId>xxxxxxx</HostId></Error>
Run Code Online (Sandbox Code Playgroud)

这就是我在本地提交作业的方式

spark-submit --packages com.amazonaws:aws-java-sdk-pom:1.11.98,org.apache.hadoop:hadoop-aws:2.7.3 test.py

为什么它适用于命令行+ boto3但是火花塞满了?

编辑:

使用s3a:// with的同样问题

hadoopConf = spark_context._jsc.hadoopConfiguration()
hadoopConf.set("fs.s3a.access.key", "xxxx") …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 access-keys http-status-code-403 apache-spark pyspark

7
推荐指数
1
解决办法
3855
查看次数

Google SAML app_not_configured_for_user / 相当于 prompt=select_account SAML

我将 Gsuite 用作 Saml IDP,以在内部应用上对我组织的用户进行身份验证。

一切正常,除了一点:当我的一个用户使用他/她的个人帐户登录时,Google 将失败:

403 错误:app_not_configured_for_user

这是有道理的,因为该应用程序仅供内部用户使用,但我希望能够强制 Google saml 身份验证显示帐户选择器,即使用户已经登录到一个帐户,因为这对于 oauth2 是可能的使用 prompt=select_account

任何方式与 SAML 具有相同的行为?


[编辑]我实际上设法通过使用实现了我想要的

https://accounts.google.com/AccountChooser/?continue= $SAML_REQUEST$


[编辑 2] 这是在 ruby​​ on rails 中进行适配的代码片段(使用ruby-saml

配置/初始化程序/saml_override.rb

module OneLogin
  module RubySaml
    class Authrequest < SamlMessage
      GOOGLE_ACCOUNT_CHOOSER_URL = "https://accounts.google.com/AccountChooser?continue="
      alias_method :old_create, :create
      def create(settings, params = {})
        self.old_create(settings, params)
        @login_url = GOOGLE_ACCOUNT_CHOOSER_URL + CGI.escape(@login_url)
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

saml http-status-code-403 oauth-2.0 google-oauth google-workspace

7
推荐指数
2
解决办法
2635
查看次数

禁用的 REST API 功能的 HTTP 状态代码是什么?

我们拥有所有用户都可以免费使用的 REST API 端点,以及用户在明确启用并支付某些特定功能后可以使用的其他端点。

如果用户尚未启用,从付费端点返回的正确状态代码应该是什么?

我看到两个选项:

  1. 402 需要付款
  2. 403 禁忌

402 被描述为非标准客户端错误状态响应代码,保留供将来使用,因此我认为这不是适合这种情况的正确状态代码。

还有其他状态代码更适合这种情况吗?

rest http http-status-codes http-status-code-403

7
推荐指数
1
解决办法
6165
查看次数

URL 中的 %20 现在导致 ERROR 403 FORBIDDEN 错误

这不是一个重复的问题。

首先,我有3个“相同”的Drupal 6.20 CMS桌面类型网站,使用MySQL数据库5.7.23和PHP 5.6.40。

所有这 3 个网站都已存在多年,以前从未遇到过此问题。

最近,内置搜索的 3 个网站中的 2 个(站点 1)http://sam308.com/和(站点 2)http://closefocusresearch.com/也遇到了完全相同的问题。

问题是:

例如,在http://closefocusresearch.com/上,当我使用网站上的内置搜索表单,并使用两个词的术语(例如不带引号的“防弹衣”)或使用任何多词搜索词时包含空格,搜索结果会显示消息 ERROR 403 - FORBIDDEN。不过,下面的搜索结果网址没有改变。

该页面的搜索结果网址为:

http://closefocusresearch.com/search/node/body%20armor
Run Code Online (Sandbox Code Playgroud)

在出现此问题之前,上述搜索结果 url 将显示正确的搜索结果。

现在, url 中的%20导致错误 403 - FORBIDDEN 结果,如下图所示。

由于防弹衣这两个词之间的空格已被替换为%20,我现在遇到了 403 错误。仅当搜索词包含空格时才会发生这种情况,否则工作正常。

附带说明一下,如果手动将%20替换为%2520,将url 中的%替换为%25 ,如下所示,那么我会得到正确的搜索结果。

http://closefocusresearch.com/search/node/body%2520armor
Run Code Online (Sandbox Code Playgroud)

如果您想亲自测试,请使用主页上的站点搜索框。

我花了 3 天的时间试图在互联网和 drupal.org 上查找此行为的原因,但找不到解决方案。所有 3 个网站上的所有文件权限都是相同的。

我也尝试从我的托管公司获得支持,但他们无法提供任何帮助。

我还尝试修改 .htaccess 文件来纠正此行为,但没有成功。我不是编写 RewriteRule 规则的专家。

是否是最近的 Apache 更新错误导致了此问题?注意:我无法访问共享托管计划上的 Apache 系统。

关于如何解决这个问题有什么想法吗?

感谢您的时间。

错误 403 - 禁止结果

php apache .htaccess drupal-6 http-status-code-403

7
推荐指数
1
解决办法
2360
查看次数