AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-10904

Adam Matan's questions

Martin Hope
Adam Matan
Asked: 2020-04-19 11:46:46 +0800 CST

通过 S3 对象 GET 触发 AWS Lambda

  • 2

我的问题

我有一个公共 S3 存储桶,它用作我发送给同事和客户的大文件 (GB) 的存储解决方案。这些文件会在几周后自动删除。

此设置的问题是,如果有人启动 DDOS 并大量下载我的链接之一,我可能会遭受巨额费用。我最终可能会支付巨额的出口网络费用,我想避免这种情况。

一种解决方案可能是每当有人下载​​对象时触发 Lambda 函数,并为该对象增加一个 DynamoDB 计数器。如果计数器超过一个合理的阈值(例如,50 次下载),Lambda 函数会将文件设为私有以避免进一步的费用。

我的问题

如何配置 Lambda 函数以在有人从特定 S3 存储桶请求文件时触发?

amazon-s3 amazon-web-services amazon-lambda
  • 2 个回答
  • 488 Views
Martin Hope
Adam Matan
Asked: 2020-04-18 05:48:31 +0800 CST

S3生命周期配置的格式是什么?

  • 1

我的问题

S3 生命周期配置会更改对象存储类。典型的用法是在指定的保留期后定期将对象移动到更便宜的存储类。我正在尝试在 CLI 中配置生命周期 JSON 输入,但我找不到 JSON 文件结构的任何参考。

我试过什么

  • 阅读使用 AWS CLI 设置生命周期配置
  • 谷歌搜索我的问题

我的问题

什么是生命周期 JSON 文件结构,如何在线测试或构建它?

amazon-s3 aws-cli
  • 1 个回答
  • 386 Views
Martin Hope
Adam Matan
Asked: 2018-04-09 03:24:56 +0800 CST

什么是 Amazon Route53“别名”DNS 记录?

  • 17

AWS Route53 别名值

考虑在 AWS Route53 上注册的域。应从 AWS CloudFront CDN 分配提供对此域的 HTTP 请求。为了实现这一点,A定义了一个别名记录:

在此处输入图像描述

dig结果

但是,dig结果显示了实际的 IP 地址。事实上,这些 IP 地址不是固定不变的,会随着时间而变化:

# dig @1.1.1.1 serverlessdaystlv.io

...

;; ANSWER SECTION:
serverlessdaystlv.io.   60      IN      A       13.32.67.21
serverlessdaystlv.io.   60      IN      A       13.32.67.27
serverlessdaystlv.io.   60      IN      A       13.32.67.97
serverlessdaystlv.io.   60      IN      A       13.32.67.122
serverlessdaystlv.io.   60      IN      A       13.32.67.141
serverlessdaystlv.io.   60      IN      A       13.32.67.159
serverlessdaystlv.io.   60      IN      A       13.32.67.201
serverlessdaystlv.io.   60      IN      A       13.32.67.216

# dig @1.1.1.1 serverlessdaystlv.io

...
;; ANSWER SECTION:
serverlessdaystlv.io.   60      IN      A       52.222.232.13
serverlessdaystlv.io.   60      IN      A       52.222.232.24
serverlessdaystlv.io.   60      IN      A       52.222.232.43
serverlessdaystlv.io.   60      IN      A       52.222.232.55
serverlessdaystlv.io.   60      IN      A       52.222.232.63
serverlessdaystlv.io.   60      IN      A       52.222.232.104
serverlessdaystlv.io.   60      IN      A       52.222.232.136
serverlessdaystlv.io.   60      IN      A       52.222.232.224

我的问题

什么是 Route53 别名记录?它是 DNS 记录的内置类型,还是只是 CloudFront 分配的实际 IP 的内部 AWS 别名,从未暴露于外部?

domain-name-system
  • 1 个回答
  • 8429 Views
Martin Hope
Adam Matan
Asked: 2017-10-22 20:10:23 +0800 CST

Route53 子域未使用 nslookup 解析

  • 2

我的问题

我正在尝试构建个人 CDN 以与我的联系人共享静态文件。该设计包括一个 S3 存储桶、一个 CloudFront 分配和一个通过 Route53 注册的子域,所有这些都使用 Terraform 进行配置。

但是,我可以通过 S3 和 Cloudfront 访问我的文件,但不能通过我的子域 ( cdn.adamatan.com)。

什么工作

S3

curl http://cdn.adamatan.com.s3.amazonaws.com/index.html

CloudFront

curl https://d36tl9ayobqfgg.cloudfront.net/index.html

什么坏了

我无法使用子域获取文件。而且,nslookupforcdn.adamatan.com和adamatan.condoes 都不行。我认为我以某种方式错误配置了 Route53。

配置

领域

在此处输入图像描述

托管区域

在此处输入图像描述

地形配置

variable "hosted_zone" {
  default = "adamatan.com"
}

variable "domain" {
  default = "cdn.adamatan.com"
}

variable "aws_region" {
  default = "us-east-1"
}

provider "aws" {
  region  = "${var.aws_region}"
  profile = "personal"
  version = "~> 1.1"
}

/*
   The S3 bucket storing the files. It must bear the same name as the domain
   pointing to it. See https://gist.github.com/danihodovic/a51eb0d9d4b29649c2d094f4251827dd,
   and http://stackoverflow.com/a/5048129/2966951
*/
resource "aws_s3_bucket" "adamatan_cdn_bucket" {
  bucket = "${var.domain}"
  acl = "public-read"

  policy = <<EOF
{
      "Version":"2008-10-17",
      "Statement":[{
        "Sid":"AllowPublicRead",
        "Effect":"Allow",
        "Principal": {"AWS": "*"},
        "Action":["s3:GetObject"],
        "Resource":["arn:aws:s3:::${var.domain}/*"]
      }]
    }
  EOF

  tags {
    Description = "Origin bucket for my personal CDN"
  }
}

resource "aws_route53_zone" "cdn_zone" {
  name = "${var.hosted_zone}"
}

resource "aws_route53_record" "root_domain" {
  zone_id = "${aws_route53_zone.cdn_zone.zone_id}"
  name = "${var.domain}"
  type = "A"

  alias {
    name = "${aws_cloudfront_distribution.adamatan_cdn_distribution.domain_name}"
    zone_id = "${aws_cloudfront_distribution.adamatan_cdn_distribution.hosted_zone_id}"
    evaluate_target_health = false
  }
}

resource "aws_cloudfront_distribution" "adamatan_cdn_distribution" {
  origin {
    domain_name = "${var.domain}.s3.amazonaws.com"
    origin_id   = "${var.domain}"
  }

  enabled             = true
  is_ipv6_enabled     = true
  comment             = "Permanent public file distribution"
  default_root_object = "index.html"

  aliases = ["${var.domain}"]

  default_cache_behavior {
    allowed_methods  = ["GET", "HEAD", "OPTIONS"]
    cached_methods   = ["GET", "HEAD"]
    target_origin_id = "${var.domain}"

    forwarded_values {
      query_string = false

      cookies {
        forward = "none"
      }
    }

    viewer_protocol_policy = "allow-all"
    min_ttl                = 60
    default_ttl            = 300
    max_ttl                = 86400
  }

  price_class = "PriceClass_All"

  restrictions {
    geo_restriction {
      restriction_type = "none"
    }
  }

  viewer_certificate {
    cloudfront_default_certificate = true
  }
}


output "domain" {
  value = "${var.domain}"
}

output "cdn_domain" {
  value = "${aws_cloudfront_distribution.adamatan_cdn_distribution.domain_name}"
}

我的问题

如何使用 Terraform(最好支持 SSL)将我的子域 ( cdn.adamatan.com) 映射到我的云端分发 ( )?d36tl9ayobqfgg.cloudfront.net

amazon-s3
  • 1 个回答
  • 3632 Views
Martin Hope
Adam Matan
Asked: 2016-03-07 02:41:39 +0800 CST

Nginx 将未指定的流量路由到看似任意的子域

  • 1

问题

我有一个服务于 3 个子域的 nginx 服务器 - 比如a.example.com,b.example.com和c.example.com.

配置文件分别为a.example.com.conf、b.example.com.conf和c.example.com.conf。它们存储/etc/nginx/sites-available在/etc/nginx/sites-enabled.

在配置文件中,每个server子句都有其相应的server_name指令。如果重要的话,所有三个子域都使用Let's Encrypt 的相同 SSL 证书问题(工作正常)。

当b.example.com.conf从 中删除时sites-enabled,我希望在尝试浏览它时出现错误消息。令人惊讶的是,nginx 将流量重定向到a.example.com. 事实上,每个没有匹配服务器名称的传入连接/etc/nginx/sites-enabled(包括机器 IP)都被路由到a.example.com.

如何配置 nginx 以使server指令独占,以便b.example.com永远不会为请求提供服务a.example.com?

配置

a.example.com.conf

server {
    listen 443 ssl;
    server_name a.example.com;

    ssl_certificate     /etc/letsencrypt/live/a.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/a.example.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8080;
    }
}

b.example.com.conf

server {
    listen 443 ssl;
    server_name b.example.com;

    # I'm using a multi-domain certificate called `a.example.com`, which is
    # serving a.example.com, b.example.com and c.example.com - not an error

    ssl_certificate     /etc/letsencrypt/live/a.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/a.example.com/privkey.pem;

    location / {
        proxy_pass http://localhost:8090;
    }
}

临时解决方案

我创建了一个默认服务器,它捕获所有默认请求并返回错误 404。但是,我希望有一个更全面的解决方案,以防止来自另一台服务器服务的任何给定服务器的请求。

server {
    listen       443  default_server;
    server_name  _;
    return       404;

    ssl_certificate     /etc/letsencrypt/live/a.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/a.example.com/privkey.pem;
}
nginx
  • 1 个回答
  • 145 Views
Martin Hope
Adam Matan
Asked: 2015-08-16 22:45:48 +0800 CST

EBS 扩展后 Ubuntu EC2 上的连接被拒绝

  • 1

问题

启动具有扩展 HD 卷的 Ubuntu 14.04 EC2 实例后,通过 ssh-ing 进入该实例失败并显示Connection refused.

EBS 扩展过程

我的一台 Ubuntu 14.04 EC2 机器在 HD 大小上运行不足。为了解决这个问题,我按照AWS自己的高清扩展手册:

  • 停了机器
  • 分离两个卷
  • 拍摄了两个卷的快照
  • 从快照创建了更大的卷
  • 附加新卷并启动机器

除此之外,我还借此机会向机器添加了一个弹性 IP,如果这很重要的话。

Connection refused启动机器后,我在 ssh 时不断收到错误消息。我尝试了从 VPC 内部到私有 IP 和外部的 ssh。我已经使用了XX.X.XXX.XXIP 和ec2-XX-X-XXX-XX.compute-1.amazonaws.comDNS 名称,以及我在创建时从 AWS 下载的原始.pem密钥,以及我放置在.ssh/authorized_keys机器中的 ssh 密钥。

我得到同样的回应:

ssh:连接到主机 ec2-XX-X-XXX-XX.compute-1.amazonaws.com 端口 22:连接被拒绝

笔记/我尝试了什么

  • 我已将卷连接到另一个实例并检查了它们。文件在那里。
  • 我尝试从PermitRootLogin/etc/ssh/sshd_config.
  • 我尝试使用 EC2 控制台中的 Java 客户端连接到机器。
  • 我尝试将原始卷连接到机器(扩展之前)。我还是明白了Connection refused。
  • 根 EBS 卷连接在/dev/sda1。

解决方案

更新:问题已解决。非常感谢这里的每一个人!

ssh
  • 3 个回答
  • 1504 Views
Martin Hope
Adam Matan
Asked: 2015-01-24 14:13:21 +0800 CST

使用 CLI 工具显示远程 SSL 证书详细信息

  • 373

在 Chrome 中,单击绿色 HTTPS 锁定图标会打开一个包含证书详细信息的窗口:

在此处输入图像描述

当我对 cURL 进行同样的尝试时,我只得到了一些信息:

$ curl -vvI https://gnupg.org
* Rebuilt URL to: https://gnupg.org/
* Hostname was NOT found in DNS cache
*   Trying 217.69.76.60...
* Connected to gnupg.org (217.69.76.60) port 443 (#0)
* TLS 1.2 connection using TLS_DHE_RSA_WITH_AES_128_CBC_SHA
* Server certificate: gnupg.org
* Server certificate: Gandi Standard SSL CA
* Server certificate: UTN-USERFirst-Hardware
> HEAD / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: gnupg.org
> Accept: */*

知道如何从命令行工具(cURL 或其他)获取完整的证书信息吗?

ssl
  • 14 个回答
  • 611799 Views
Martin Hope
Adam Matan
Asked: 2014-11-14 04:56:02 +0800 CST

使用 ansible 运行 apt-get autoremove

  • 25

我用 ansible 维护了一群 EC2 服务器。服务器使用apt 模块定期更新和升级。

当我手动尝试升级服务器时,我收到以下消息:

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.13.0-29 linux-headers-3.13.0-29-generic
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-29-generic linux-image-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

有没有办法sudo apt-get autoremove用ansible运行?

apt
  • 6 个回答
  • 21331 Views
Martin Hope
Adam Matan
Asked: 2014-10-16 00:24:56 +0800 CST

ec2中的PV和HVM虚拟化类型有什么区别?

  • 72

AWS EC2 提供两种类型的 Ubuntu Linux EC2 机器虚拟化 - PV 和 HVM。

光伏: 在此处输入图像描述

虚拟机: 在此处输入图像描述

这些类型之间有什么区别?

ubuntu
  • 4 个回答
  • 39225 Views
Martin Hope
Adam Matan
Asked: 2014-09-21 21:42:54 +0800 CST

AWS:如何创建基于 URL 的反向代理?

  • 4

我正在尝试在我的 AWS 账户中配置反向代理:

在此处输入图像描述

反向代理应根据其 URL 结构将请求转发到内部服务器,例如:

example.com/question/*   ->  192.168.0.1
example.com/answer/*     ->  192.168.0.2
example.com              ->  192.168.0.3

我可以使用 Apache 实现反向代理mod_proxy,我想知道 AWS 是否为此提供了内置解决方案。

amazon-web-services
  • 2 个回答
  • 2096 Views
Martin Hope
Adam Matan
Asked: 2014-08-03 21:40:23 +0800 CST

Apache:<Proxy> 和 ProxyPass 之间的区别

  • 3

ProxyPass指令之间有什么区别:

ProxyPass         /     http://localhost:8080/ nocanon
ProxyPassReverse  /     http://localhost:8080/

和一个<Proxy>指令:

<Proxy http://localhost:8080/*>
    Order deny,allow
    Allow from all
</Proxy>

在 Apache 配置文件中?

我经常在同virtualhost一部分看到这两个,我不确定有什么区别。

apache-2.2
  • 1 个回答
  • 1757 Views
Martin Hope
Adam Matan
Asked: 2014-08-03 21:32:55 +0800 CST

Apache:为虚拟主机中的所有 URL 添加前缀

  • 1

在我的一台机器上,我有一个内部服务器,它在 port 侦听8090。我virtualhost在 Apache 中使用如下 URL 来代理内部服务器servera.mydomain.com:

<VirtualHost *:443>
    ServerAlias servera.mydomain.com

    ProxyPass         /     http://localhost:8090/ nocanon
    ProxyPassReverse  /     http://localhost:8090/
   ...
</VirtualHost>

这很好用,当我https://servera.mydomain.com从浏览器打开时,它会将我重定向到http://localhost:8090/.

问题是服务器中的所有 url 都以 ReportServer 开头,因此我实际上必须输入https://servera.mydomain.com/ReportServer才能访问它,这很麻烦。

我努力了:

    RewriteEngine on
    RewriteRule ^(.*)$ ReportServer/$1

但是我只得到 404 错误,而日志中没有很好的解释。

在虚拟主机中的所有 URL 中放置ReportServer前缀的正确方法是什么?我可以选择前缀是否对浏览器可见吗?

apache-2.2
  • 1 个回答
  • 2795 Views
Martin Hope
Adam Matan
Asked: 2014-07-08 07:59:49 +0800 CST

Amazon Route53:极长的 ns 查找时间

  • 0

我在移动客户端中有一些失败的 API 调用。为了进行调查,我听从了 Joseph Scott 的建议,并使用一些调试参数执行了 curl:

来自 Amazon EC2 服务器的结果:

        time_namelookup:  0.011
           time_connect:  0.011
        time_appconnect:  0.016
       time_pretransfer:  0.027
          time_redirect:  0.000
     time_starttransfer:  0.049
                        ----------
             time_total:  0.049

笔记本电脑的结果(以色列):

        time_namelookup:  5.004
           time_connect:  5.264
        time_appconnect:  5.851
       time_pretransfer:  5.851
          time_redirect:  0.000
     time_starttransfer:  6.188
                        ----------
             time_total:  6.188

我的resolv.conf:

#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
nameserver 192.168.0.1

其他详情:

  1. TTL 为 300。
  2. 连续调用几次后,高 time_namelookup 不会改变,所以这不是本地缓存问题。
  3. CNAME 和 A 记录都会出现问题。
  4. dig立即返回。

知道为什么 time_namelookup 需要这么长时间吗?

更新

当我在不同的无线网络中执行相同的命令时,我得到以下信息:

        time_namelookup:  0.003
           time_connect:  0.273
        time_appconnect:  2.189
       time_pretransfer:  2.189
          time_redirect:  0.000
     time_starttransfer:  3.200
                        ----------
             time_total:  3.201

这可能意味着 longtime_namelookup确实是一个防火墙问题。感谢所有帮助过的人!

domain-name-system
  • 2 个回答
  • 463 Views
Martin Hope
Adam Matan
Asked: 2014-06-06 09:31:05 +0800 CST

Python uWSGI 日志没有读取权限

  • 4

我正在通过 EC2 Ubuntu 14.04 LTS 在 uWSGI 上运行 Python Flask 服务器。服务器配置如下:

[uwsgi]
http-socket    = :9000
plugin         = python
wsgi-file      = /path/to_wsgi.py
enable-threads = true

但是,这些日志是使用没有读取权限的 root 权限创建的:

$ ls -ltrh /var/log/uwsgi/app
total 34M
-rw-r----- 1 root root 2.3M Jun  4 06:50 reporter-uwsgi.log.2.gz
-rw-r----- 1 root root  24M Jun  5 06:51 reporter-uwsgi.log.1
-rw-r----- 1 root root 8.4M Jun  5 17:27 reporter-uwsgi.log

这很烦人,因为我的一些脚本以普通用户身份运行并解析这些日志。

知道如何配置 uWSGI 以使用全局读取权限编写吗?

ubuntu
  • 1 个回答
  • 4789 Views
Martin Hope
Adam Matan
Asked: 2014-05-19 07:44:01 +0800 CST

授予对 Ubuntu 14.04 EC2 机器的临时访问权限

  • 3

我的公司打算为我们的 EC2 服务器上的一些开发运维工作聘请外部承包商。我们使用通过.pem证书文件访问的 Ubuntu。

出于显而易见的原因,我不想.pem与外人共享我的密钥 - 如果密钥丢失,互联网上的任何人都可以访问我的机器。

我可以将承包商的 ssh 密钥添加到.ssh/authorized_keys所有服务器上,但这会很乏味,除非我更改模板服务器映像,否则他将无法访问新服务器。

是否有更简单的方法来授予对 EC2 机器的临时、可撤销的访问权限?

ssh
  • 1 个回答
  • 742 Views
Martin Hope
Adam Matan
Asked: 2014-04-18 02:50:33 +0800 CST

用于获取和分析 SSL 证书的命令行工具

  • 11

在openSSL 中的心脏出血漏洞之后,我们服务器上的所有 SSH 证书都被重新颁发并重新安装。

由于我们很可能错过了服务器上的某些内容(例如,重新启动 Apache),因此我们通过单击 Chrome 中的键徽标来手动检查服务器:

在此处输入图像描述

这很慢并且容易出错。是否有可以从服务器获取证书 ID/序列号的命令行工具?

更新

我最终使用了MichelZ 答案的变体:

echo "" | openssl s_client -showcerts -status -verify 0 \
        -connect www.mydomain.com:443 2>&1 | \
        egrep "Verify return|subject=/serial"
  • echo是openssl退出所必需的(否则它会等待输入)。
  • -verify 0验证证书。
  • 2>&1将标准错误重定向到标准输出
  • egrep仅显示验证状态和序列号。
ssl
  • 1 个回答
  • 20119 Views
Martin Hope
Adam Matan
Asked: 2014-04-09 06:57:07 +0800 CST

如何在 Amazon 的 m3.medium 上安装 SSD 驱动器?

  • 5

Amazon 的m3.medium实例带有 4GB SSD 驱动器:

在此处输入图像描述

但我似乎找不到使用的设备df:

$ df -h

Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       20G  2.9G   16G  16% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.9G  8.0K  1.9G   1% /dev
tmpfs           375M  228K  375M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G     0  1.9G   0% /run/shm
none            100M     0  100M   0% /run/user

或在/dev:

$ ls /dev
autofs           hvc0   i2c-5  loop7               ram0   ram7      tty1   tty21  tty33  tty45  tty57      ttyS1   ttyS21  ttyS5    vcs6         zero
block            hvc1   i2c-6  loop-control        ram1   ram8      tty10  tty22  tty34  tty46  tty58      ttyS10  ttyS22  ttyS6    vcs7
btrfs-control    hvc2   i2c-7  mapper              ram10  ram9      tty11  tty23  tty35  tty47  tty59      ttyS11  ttyS23  ttyS7    vcsa
char             hvc3   input  mem                 ram11  random    tty12  tty24  tty36  tty48  tty6       ttyS12  ttyS24  ttyS8    vcsa1
console          hvc4   kmsg   net                 ram12  rfkill    tty13  tty25  tty37  tty49  tty60      ttyS13  ttyS25  ttyS9    vcsa2
core             hvc5   log    network_latency     ram13  shm       tty14  tty26  tty38  tty5   tty61      ttyS14  ttyS26  uinput   vcsa3
cpu              hvc6   loop0  network_throughput  ram14  snapshot  tty15  tty27  tty39  tty50  tty62      ttyS15  ttyS27  urandom  vcsa4
cpu_dma_latency  hvc7   loop1  null                ram15  snd       tty16  tty28  tty4   tty51  tty63      ttyS16  ttyS28  vcs      vcsa5
disk             i2c-0  loop2  port                ram2   stderr    tty17  tty29  tty40  tty52  tty7       ttyS17  ttyS29  vcs1     vcsa6
ecryptfs         i2c-1  loop3  ppp                 ram3   stdin     tty18  tty3   tty41  tty53  tty8       ttyS18  ttyS3   vcs2     vcsa7
fd               i2c-2  loop4  psaux               ram4   stdout    tty19  tty30  tty42  tty54  tty9       ttyS19  ttyS30  vcs3     vga_arbiter
full             i2c-3  loop5  ptmx                ram5   tty       tty2   tty31  tty43  tty55  ttyprintk  ttyS2   ttyS31  vcs4     xen
fuse             i2c-4  loop6  pts                 ram6   tty0      tty20  tty32  tty44  tty56  ttyS0      ttyS20  ttyS4   vcs5     xvda1

小字(带有*)表明我应该在启动期间插入某种参数:

*6 在实例启动参数中指定这些块储存设备映射时,将为 M3 实例提供实例存储。

我是否必须重新启动实例才能访问 SSD 驱动器?启动时需要哪些参数?

amazon-ec2
  • 1 个回答
  • 2121 Views
Martin Hope
Adam Matan
Asked: 2014-02-24 12:26:33 +0800 CST

Apache:使用正则表达式代理内部 URL

  • 3

我有一些 servlet 正在侦听无法从外部访问的内部端口。我使用 ApacheProxyPass和ProxyPassReverse指令从端口 443 安全地为它们提供服务:

ProxyPass         /media http://localhost:9002/
ProxyPassReverse  /media http://localhost:9002/

这工作正常 -https://example.com/media从http://localhost:9002/.

当 URL 具有不同的部分时,就会出现问题。例如:

https://example.com/image/IMAGE_NAME_1应从http://localhost:9002/image/IMAGE_NAME_1.

并且https://example.com/image/IMAGE_NAME_2应该从http://localhost:9002/image/IMAGE_NAME_1.

我尝试了一些变化,包括:

RewriteEngine  on
RewriteRule   ^/image/(.*)$  http://localhost:9002/image/$1 [L,PT]
ProxyPass         /image/ http://localhost:9002/image
ProxyPassReverse  /image/ http://localhost:9002/image

但是这种配置会导致Bad Request浏览器和

Invalid URI in request GET /image/1 HTTP/1.1

在日志中。

如何代理 URL 具有不同部分的内部 servlet?

apache-2.2
  • 1 个回答
  • 31953 Views
Martin Hope
Adam Matan
Asked: 2013-05-03 03:41:53 +0800 CST

使用 tcpdump 的 http 标头的人类可读格式

  • 82

我想在 Linux 机器上查看从 Apache(侦听端口 80)发送到 Tomcat(端口 4080)的 HTTP 标头。

根据维基百科,

标头字段是明文字符串格式的以冒号分隔的名称-值对。

我尝试了以下tcpdump命令的一些变体:

$ sudo tcpdump -lnX dst port 4080 -c 10

11:29:28.605894 IP SOME_IP.33273 > SOME_IP.4080: P 0:49(49) ack 1 win 23 <nop,nop,timestamp 1191760962 509391143>
    0x0000:  4500 0065 3a9f 4000 3f06 0084 628a 9ec4  E..e:.@.?...b...
    0x0010:  628a 9c97 81f9 0ff0 9e87 eee0 144b 90e1  b............K..
    0x0020:  8018 0017 fb43 0000 0101 080a 4708 d442  .....C......G..B
    0x0030:  1e5c b127 4845 4144 202f 6461 7070 6572  .\.'HEAD./dapper
    0x0040:  5f73 6572 7669 6e67 2f41 644d 6f6e 6b65  _serving/AdMonke
    0x0050:  793f                                     y?

结果总是一样的 - 乱码和英文单词(例如HEAD)的奇怪组合。

如何以人类可读的格式查看标题?

http
  • 3 个回答
  • 199903 Views
Martin Hope
Adam Matan
Asked: 2013-04-18 04:45:29 +0800 CST

sar:空闲内存统计(包括buffers,cache)

  • 3

这些free命令以两种形式提供可用内存量:完全可用内存(Mem线)和用于缓存和缓冲区的一次性内存(-/+ buffers/cache线):

-bash-3.2$ free -m
             total       used       free     shared    buffers     cached
Mem:         16057      15173        884          0         17       2520
-/+ buffers/cache:      12635       3422
Swap:        12287       4937       7350

在此示例中,有 884 MB 的可用内存(不包括缓冲区和缓存)和 3422 MB 的可用内存(包括缓冲区和缓存)。

如何在 中获得第二次测量(可用内存,包括缓冲区和高速缓存)sar?

memory
  • 1 个回答
  • 8103 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve