小编izr*_*rik的帖子

SQLAlchemy返回所有不同的列值

我正在使用Flask和SQLAlchemy创建一个网站.该网站记录了学生所学的课程.我想找到一种方法来使用SQLAlchemy搜索我的数据库,以查找已输入的所有唯一类.这是我models.py的类代码:

class Class(db.Model):
    __tablename__ = 'classes'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(100))
    body = db.Column(db.Text)
    created = db.Column(db.DateTime, default=datetime.datetime.now)
    user_email = db.Column(db.String(100), db.ForeignKey(User.email))
    user = db.relationship(User)
Run Code Online (Sandbox Code Playgroud)

换句话说,我想从标题列中获取所有唯一值并将其传递给我views.py.谢谢.

sqlalchemy flask flask-sqlalchemy

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

通过 https 到服务器的 Nginx 代理 - 证书上的主机名与 Host 标头不同

我想https://example.com在服务器 1 上接收流量。然后我想通过 https 将该流量代理到服务器 2。服务器 2 的 Nginx 设置了与服务器 1 完全相同的 tls 证书和密钥,因此理论上它应该能够提供服务请求。但是,当服务器 2 上的 Nginx 尝试将请求代理到服务器 2 时,它会将其发送到server2.example.com,这与证书上的通用名称不同,只是example.com.

有没有办法将 nginx 配置为期望主机提供的 tls 证书上的名称(在 tls 握手期间),它代理的请求与其代理的主机地址不同?

服务器 1 上的示例配置:

server {
    listen        443 ssl;
    server_name   example.com;

    ssl_certificate        /srv/tls/example.com.crt;
    ssl_certificate_key    /srv/tls/example.com.key;

    location / {
        proxy_pass https://server2.example.com;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }
}
Run Code Online (Sandbox Code Playgroud)

服务器 2 上的示例配置:

server {
    listen        443 ssl;
    server_name   example.com;

    ssl_certificate        /srv/tls/example.com.crt;
    ssl_certificate_key    /srv/tls/example.com.key; …
Run Code Online (Sandbox Code Playgroud)

ssl proxy nginx

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

Filebeat可以使用多个配置文件吗?

我在一台服务器上运行了几个应用程序.我想使用filebeat将每个日志的日志发送到logstash.但是,为了配置管理,我希望能够为每个应用程序单独添加配置到filebeat.

Logstash从conf.d目录中读取其配置.我的理解是,可以在那里添加文件,并在logstash加载时将它们组合在一起.filebeat有类似的功能吗?或者我坚持filebeat.yml每台服务器维护一个文件?

我使用弹性存储库中的yum/rpm软件包在CentOS 7上运行filebeat和logstash作为服务.Filebeat是版本1.3.1,logstash是版本2.4.0.

config filebeat

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

ansible传输文件安全吗?

我正在使用Ansible 2.2从我的笔记本电脑管理一些云服务器.我想将OpenSSL私钥传输到其中一个服务器上的特定位置,以供nginx用于TLS终止.当然,这是一个应保密的文件,因此我使用Ansible Vault对其进行了加密.但Vault仅保护控制计算机上的磁盘文件.将数据从控制机器传输到受管节点时,它不起作用.

我想确保监控网络流量的人在传输过程中不会泄露私钥.我没有具体提到我正在寻找的内容,我可以在模块文档中copy看到.据我所知,我与被管节点的所有通信都是通过SSH完成的.这是一个安全的假设吗?它是否包含文件传输?

encryption file-transfer ansible ansible-vault

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

可以使用switch语句来确定对象的类吗?

在搜索了SO和网络之后,我还没有在Java中找到答案.这很简单.

我有抽象类ParentClass.类X和类Y都继承自ParentClass.我也有类DataInputDialog extends JDialog,这是为了提供一个用户界面,用于将数据输入到类X和类Y实例中.DataInputDialog类如下所示:

public class DataInputDialog extends JDialog {

    public DataInputDialog(ParentClass xOrY) {
        //calls super constructor, makes basic components such as
        //  buttons and panels that are used in either X or Y data entry

    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想要一个switch声明来确定ParentClass传递给哪种类型的声明DataInputDialog.但是,我不知道如何实现这一目标.我试过了:

switch (xOrY.getClass().getTypeName()) {
    case X.class.getTypeName();
}
Run Code Online (Sandbox Code Playgroud)

还有其他一些变体,但它总是在case语句中出现一个错误:它必须是一个常量String,或者它不能转换为整数.

如何获取此switch语句以确定是否xOrYX或的实例Y

java class switch-statement

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