小编sla*_*fer的帖子

如何不在 NginX 负载均衡器上终止 ssl

我想知道如何让 NginX(负载均衡器)接受 443 上的流量并将其转发到负载均衡 Web 服务器节点上的端口 443。

我使用 NginX 作为负载均衡器,其中 SSL 终止发生在 NginX 级别。然后 NginX 将未加密的流量发送到端口 80 上的 Web 服务。

这是我当前的 ngnx 配置:

upstream appserver {
    server 10.0.1.132;
    server 10.0.1.243;
}

server {
    listen       443 ssl;
    server_name  localhost;

    ssl_certificate      /etc/nginx/cert.pem;
    ssl_certificate_key  /etc/nginx/cert.key;

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers   on;

    location / {
        proxy_pass http://appserver;
    }
}
Run Code Online (Sandbox Code Playgroud)

我经历过:Nginx load balance with upstream SSL

我真正的问题是,如果我想让 NginX 监听 443 上的流量,那么我需要在 nignx 上配置 ssl 终止。否则 nginx 服务将无法启动,并且会抱怨缺少 ssl 证书/密钥。

简而言之,我希望 Nginx 简单地接受 …

nginx

5
推荐指数
1
解决办法
4066
查看次数

是否可以为一周中的特定日期设置 Amazon EC2 自动扩展?

我需要针对工作日和周末制定不同的自动缩放策略。

到目前为止,我弄清楚了如何每天设置相同的策略。cmd 调用和 CRON 字符串如下所示:

as-put-scheduled-update-group-action  TNUPWN --auto-scaling-group  TNASG --region us-west-2 --recurrence "30 18 * * *" --desired-capacity 1
Run Code Online (Sandbox Code Playgroud)

但是当我尝试仅为工作日设置 CRON 字符串时,例如

30 7 ? * MON-FRI * 
or 
0 30 7 ? * MON-FRI *
Run Code Online (Sandbox Code Playgroud)

我收到错误

as-put-scheduled-update-group-action:  Malformed input-Given recurrence string:30 1 ? * MON-FRI * is
 invalid
Usage:
as-put-scheduled-update-group-action
        ScheduledActionName  --auto-scaling-group  value [--desired-capacity
       value ] [--end-time  value ] [--max-size  value ] [--min-size  value ]
       [--recurrence  value ] [--start-time  value ] [--time  value ]
        [General Options]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?AWS 也可以实现吗?

amazon-ec2 amazon-web-services cronexpression

5
推荐指数
1
解决办法
1778
查看次数

Jenkins为从其他现有作业复制的新作业创建错误的文件夹

抱歉,标题令人困惑。我对 Jenkins 完全陌生,并且已经将 Jenkins 交给了维护,这是由其他人设置的。

这是 Jenkins 主从配置。我有 1 个主人和 3 个奴隶。

当我通过“复制现有”作业创建新作业时,新作业运行良好且没有问题。

问题:我看到在 Jenkins 工作区中,此新作业正在创建一个文件夹,其中包含从中复制的原始作业的名称。为什么不使用新作业的名称创建文件夹?

现在,这对我来说当然不是一个表演障碍,但似乎 Jenkins 正在为每个运行的作业在工作区中创建一个文件夹。因此这个特定的文件夹引起了一些混乱(尽管它是名义上的)。

因此,您能帮我找出为什么新作业要创建一个工作区文件夹,其名称是从中复制的原始作业的名称。

顺便说一句,上面的问题是在 Jenkins slave 上看到的。

jenkins

5
推荐指数
1
解决办法
3266
查看次数

Golang:检索 YAML 中的嵌套键

这是我的YAML文件:

hosts: all
gather_facts: no
remote_user: ubuntu
name: install latest nginx
tasks:
  - name: install the nginx key
    apt_key:
      url: http://nginx.org/keys/nginx_signing.key 
      state: present
    become: yes

  - name:  install aws cli
    command: pip3 install awscli
    become: yes
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

package main

import (
    "github.com/davecgh/go-spew/spew"
    "gopkg.in/yaml.v2"
    "io/ioutil"
)

type Config struct {
    Hosts        string              `yaml:hosts`
    Gather_facts string              `yaml:gatherfacts`
    Remote_user  string              `yaml:remoteuser`
    Name         string              `yaml:names`
    Tasks        []map[string]string `yaml:tasks`
}

func main() {
    file, err := ioutil.ReadFile("/path-to-nginx1.yml")
    if err != nil …
Run Code Online (Sandbox Code Playgroud)

go

5
推荐指数
1
解决办法
4237
查看次数

Perl 的 Chomp:Chomp 正在删除整个单词而不是换行符

我正面临着 perl chomp 功能的问题。我有一个test.csv如下:

col1,col2
vm1,fd1
vm2,fd2
vm3,fd3
vm4,fd4
Run Code Online (Sandbox Code Playgroud)

我想打印这个 csv 的第二个字段。这是我的代码:

#!/usr/bin/perl -w
use strict;

my $file = "test.csv";
open (my $FH, '<', $file);
my @array = (<$FH>);
close $FH;

foreach (@array)
{
    my @row = split (/,/,$_);
    my $var = chomp ($row[1]);     ###   <<< this is the problem
    print $var;
}
Run Code Online (Sandbox Code Playgroud)

aboe 代码的输出是:

11111
Run Code Online (Sandbox Code Playgroud)

我真的不知道“1”是从哪里来的。实际上,最后一个文件可以打印如下:

foreach (@array)
{
    my @row = split (/,/,$_);
    print $row[1];     ###  << Note that I am not printing "\n"
}  
Run Code Online (Sandbox Code Playgroud)

输出是: …

perl

4
推荐指数
1
解决办法
4083
查看次数

Ruby + Option解析器

我正在通过引用这个这个来学习ruby中的选项解析.这是我的测试代码:

#!/usr/bin/ruby
require "optparse"

options = {}

optparse = OptionParser.new do |opts|
  opts.banner = "Learning Option parsing in Ruby"

  opts.on("-i", "--ipaddress", "IP address of the server") do |ipaddr|
    options[:ipaddress] =  ipaddr
  end

    opts.on("-u", "--username", "username to log in") do |user|
      options[:username] = user
    end

    opts.on("-p", "--password", "password of the user") do |pass|
      options[:password] = pass
    end
end

optparse.parse!

puts "the IPaddress is #{options[:ipaddress]}" if options[:ipaddress]
puts "the username is #{options[:username]}" if options[:username]
puts "the password is …
Run Code Online (Sandbox Code Playgroud)

ruby

4
推荐指数
1
解决办法
3188
查看次数

Perl + DBI + MySQL:如何运行多个查询/语句

目前,我在MYSQL上运行多个语句,如下所示;

my $sth1 = $dbh->prepare("ALTER TABLE whatever....");
my $sth2 = $dbh->prepare("UPDATE whatever....");
my $sth3 = $dbh->prepare("ALTER TABLE whatever....");
my $sth4 = $dbh->prepare("DROP TABLE whatever....");
my $sth5 = $dbh->prepare("DROP TABLE whatever....");


$sth1->execute;
$sth1->finish;
$sth2->execute;
$sth2->finish;
$sth3->execute;
$sth3->finish;
$sth4->execute;
$sth4->finish;
$sth5->execute;
$sth5->finish;
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常.

但是,我有大约50多个这样的查询.所以你可以想象上面这些线的大小.我上面粘贴的只是5个查询.

题:

是否有更好的方式来运行多个MySQL查询/语句Perl DBI

mysql perl dbi

4
推荐指数
2
解决办法
6324
查看次数

AWS Ruby SDK CORE:将文件上传到S3

我想使用AWS-SDK-CORE ruby​​ SDK将文件(任何文件,可能是.txt,.mp4,.mp3,.zip,.tar ......等)上传到AWS S3

这是我的代码:

require 'aws-sdk-core'
Aws.config = {
  :access_key_id => MY_ACCESS_KEY
  :secret_access_key => MY_SECRET_KEY,
  :region => 'us-west-2'
}

s3 = Aws::S3.new
resp = s3.put_object(
  :bucket => "mybucket",
  :key => "myfolder/upload_me.sql",
  :body => "./upload_me.sql"
)
Run Code Online (Sandbox Code Playgroud)

现在,上面的代码运行并创建一个myfolder/upload_me.sql只写了一行的键,./upload_me.sql哪个是错的.该文件upload_me.sql有几行.

预期的行为是将文件上传到upload_me.sqlS3上mybucket/myfolder/upload_me.sql.但它只是写了一行mybucket/myfolder/upload_me.sql,就是这样./upload_me.sql

现在,如果我省略如下:body部分:

s3 = Aws::S3.new
resp = s3.put_object(
  :bucket => "mybucket",
  :key => "myfolder/upload_me.sql",
)
Run Code Online (Sandbox Code Playgroud)

然后它只是创建并清空所谓的mybucket/myfolder/upload_me.sql甚至无法下载的密钥(好吧,即使它被下载,也没用)

你能指出我哪里出错吗?

以下是方法的ruby-SDK-core文档put_object:http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/V20060301.html#put_object-instance_method …

ruby amazon-s3 amazon-web-services

3
推荐指数
1
解决办法
3848
查看次数

Amazon RedShift:如何查找数据库大小

有很多谷歌结果可以回答这个问题。然而,似乎没有一个对我有用。因此,我正在创建这个问题并回答它以供我自己将来参考以及可能通过 Google 访问此线程的任何其他人。

amazon-web-services amazon-redshift

3
推荐指数
1
解决办法
5113
查看次数

SQLAlchemy:__tablename__ 作为变量

我正在研究一个原型来拉股票滴答并将它们转储到数据库。我想__tablename__作为参数传递给 SQLAchemy,以便将给定股票的股票报价记录到它自己的表中。(顺便说一句,我是 SQLAlchemy 的新手)

我提到了这个线程:Python Sqlalchemy - tablename as a variable

并提出了以下代码:

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, scoped_session
from sqlalchemy import Column, String, Integer, Date


Base = declarative_base()


def create_models(tablename):

    class Stock(Base):

        __tablename__ = tablename

        timestamp = Column(String, primary_key=True)
        ltp = Column(String)

        def __init__(self, timestamp, ltp):
            self.timestamp = timestamp
            self.ltp = ltp

create_models('ABCD')

engine = create_engine('sqlite:////ticks.db')
Base.metadata.create_all(bind=engine)

session_factory = sessionmaker(bind=engine)
Session = scoped_session(session_factory)()

tick = Stock('2019-02-12 09:15:00', '287')
Session.merge(tick)
Session.commit() …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

3
推荐指数
1
解决办法
5009
查看次数