标签: ssl

带有 mod-proxy 和 SSL 的 Apache VirtualHost

我正在尝试设置一个带有多个 Web 应用程序的服务器,这些应用程序都将通过 apache VirtualHost(在同一台服务器上运行的 apache)提供服务。我的主要限制是每个 Web 应用程序都必须使用 SSL 加密。在谷歌搜索了一段时间并查看了有关stackoverflow的其他问题后,我为VirtualHost编写了以下配置:

<VirtualHost 1.2.3.4:443>
    ServerName host.example.org

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    SSLProxyEngine On
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / https://localhost:8443/
    ProxyPassReverse / https://localhost:8443/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

尽管https://host.example.org:8443是可访问的,https://host.example.org不是,这违背了我的虚拟主机配置的目的。Firefox 抱怨说,即使它成功连接到服务器,连接也被中断。我还在 apache 的 error.log 中收到以下警告:

proxy: no HTTP 0.9 request (with no host line) on incoming request and preserve host set forcing hostname to be host.example.org for uri 
Run Code Online (Sandbox Code Playgroud)

在 Web 应用程序(Tomcat 服务器)上,访问日志显示了一个奇怪的访问请求:

"?O^A^C / HTTP/1.1" 302
Run Code Online (Sandbox Code Playgroud)

以下是我直接连接到https://host.example.org:8443时得到的正确访问请求:

"GET …
Run Code Online (Sandbox Code Playgroud)

ssl proxy apache-2.2

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

通过 Linux 命令行保存远程 SSL 证书

你能想到任何 linux 命令行方法来保存 HTTPS 服务器提供的证书吗?类似于让 curl/wget/openssl 建立 SSL 连接并保存证书而不是 HTTP 响应内容。

相当于我正在寻找的 gui 是浏览到 HTTPS 站点,双击浏览器“安全站点”图标,然后导出证书。除了这里的目标是非交互式地进行。

谢谢,吉姆

linux ssl https ssl-certificate x509

30
推荐指数
2
解决办法
5万
查看次数

自签名 SSL 证书是一种虚假的安全感吗?

自签名 SSL 证书是一种虚假的安全感吗?

如果您被窃听,用户将像往常一样简单地接受证书。

networking security ssl ssl-certificate x509

30
推荐指数
4
解决办法
2719
查看次数

nginx 作为上游 SSL 的反向代理

我正在为内部 API 构建代理,以允许客户端连接而无需安装自签名证书。

客户端(构建、拥有和仅在内部使用)将通过 SSL 连接到 nginx 框,在那里我使用XSendfile在应用程序级别(一个 Rails 应用程序)验证凭据。如果凭据有效,则连接将传递回 nginx,在那里它使用 proxy_pass 将连接发送到上游服务器。

现在这适用于标准的 http 连接,但我正在尝试弄清楚如何将我们的证书添加到混合中。

这个问题几乎是相同的这一个,但尴尬的证书要求。

这甚至可能与 nginx 一起使用吗?有更好的解决方案吗?

我也满足于从客户端的 http -> nginx,以及从 nginx 到 API 的自签名证书。

ssl nginx reverse-proxy

30
推荐指数
3
解决办法
9万
查看次数

使用 Nginx 通过 SSL 将非 www 重定向到 www

尝试将https://example.com重定向到https://www.example.com时出错。

当我转到https://example.com 时,它不会重定向并返回 page/200 状态。

我不想要这个,我想让它重定向到https://www.example.com

当我去http://example.com 时,它重定向到https://www.example.com

有人能告诉我我哪里出错了吗?

这是我的默认和默认 ssl 配置文件:

默认配置文件

server {
    listen 80;
    server_name example.com;
    return 301 https://www.example.com$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

默认 ssl.conf

upstream app_server_ssl {
    server unix:/tmp/unicorn.sock fail_timeout=0;
}

server {
    server_name example.com;
    return 301 https://www.example.com$request_uri
}
server {
    server_name www.example.com;

    listen 443;
    root /home/app/myproject/current/public;
    index index.html index.htm;

    error_log /srv/www/example.com/logs/error.log info;
    access_log /srv/www/example.com/logs/access.log combined;

    ssl on;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_certificate /srv/www/example.com/keys/ssl.crt;
    ssl_certificate_key /srv/www/example.com/keys/www.example.com.key;
    ssl_ciphers …
Run Code Online (Sandbox Code Playgroud)

ssl nginx https ssl-certificate

30
推荐指数
2
解决办法
5万
查看次数

ssl 证书消失 IIS

我正在尝试将证书导入 IIS。在 MMC(Windows 控制台)上一切正常。我完成了向导,似乎没问题。但是,当我刷新证书列表或移动到 IIS 的其他屏幕时,证书从列表中消失。

我不知道有什么问题。我能做什么?

iis ssl

29
推荐指数
4
解决办法
9万
查看次数

从 PKCS12 文件生成 .key 和 .crt?

我究竟如何从 .p12 文件生成 .key 文件和 .crt 文件?

ssl certificate openssl apache-2.2

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

如何让 nginx 记录使用的 SSL/TLS 协议和密码套件?

我的目标是确保客户端连接到我的 nginx 的适当安全性。我正在按照Mozilla 的指南在我的 nginx 安装上正确配置 TLS,但我没有对实践中使用的实际协议/密码套件的概述。

我现在所拥有的:

server {
    listen 443;
    ssl on;
    ssl_certificate /path/to/signed_cert_plus_intermediates;
    ssl_certificate_key /path/to/private_key;
    ssl_dhparam /path/to/dhparam.pem;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'the_long_ciphersuite_listed_there';
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:50m;
}
Run Code Online (Sandbox Code Playgroud)

有了这个,我想记录用于连接的 SSL 协议以及在客户端/服务器协商后选择的密码套件。例如:

10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] "GET / HTTP/1.1" 200 1234 "-" "User agent bla"
Run Code Online (Sandbox Code Playgroud)

10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 "GET / HTTP/1.1" 200 1234 "-" "User agent bla"
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我可以快速识别使用不支持 PFS 或其他相关安全启用技术的过时浏览器或自动化机器的客户端。

如何配置 nginx 以记录此信息?

security ssl nginx logging tls

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

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

Nginx:在一条路径上强制使用 SSL,在其他路径上强制使用非 SSL

如何设置 Nginx conf 文件以仅在我的站点中的一个路径上强制使用 SSL,而在所有其他路径上强制使用非 SSL?

例如,我希望 /user 下的所有 URL 都是 https,但所有其余的 URL 都是 http。

对于第一部分,我有:

rewrite ^/user(.*) https://$http_host$request_uri?;
Run Code Online (Sandbox Code Playgroud)

我不想使用“如果”。我认为它会利用操作顺序,但我不想以循环结束。

ssl nginx

27
推荐指数
2
解决办法
3万
查看次数