我需要将 nginx 设置为 https 代理,但这不起作用:
$ export https_proxy="http://127.0.0.1:8081"
$ curl https://example.com
curl: (56) Received HTTP code 400 from proxy after CONNECT
Run Code Online (Sandbox Code Playgroud)
我的nginx.conf:
server {
listen 8081;
location / {
proxy_pass http://some.proxy.com:3128;
proxy_set_header Host $http_host;
}
}
Run Code Online (Sandbox Code Playgroud) 我已经在 Amazon Linux 2 上设置了 Fail2Ban,使用nginx-http-auth以下覆盖配置启用内置监狱:
[nginx-http-auth]
enabled = true
action = iptables[name=HTTPS, port=https, protocol=tcp]
logpath = <snip>/logs/*error*.log
findtime = 15m
bantime = 15m
maxretry = 5
Run Code Online (Sandbox Code Playgroud)
该操作正在触发,我收到以下条目iptables -S:
-A f2b-HTTPS -s 120.<snip>.122/32 -j REJECT --reject-with icmp-port-unreachable
Run Code Online (Sandbox Code Playgroud)
但是,我可以继续从被禁止的 IP 发出新的 HTTPS 请求,这些请求正在接收来自 Nginx 的 401 响应。我从两个 IP 地址进行复制 - 我的手机和另一个 EC2 主机。
以下是完整输出iptables -L:(注意:Nginx 在 Docker 内部运行,另外两个与本地网络隔离的容器也是如此)
Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-HTTPS tcp -- anywhere anywhere tcp dpt:https
Chain …Run Code Online (Sandbox Code Playgroud) 我跟着这个文档,但无法使我的图像通过 HTTPS 提供服务。
我有以下/etc/default/minio配置文件:
MINIO_ACCESS_KEY="admin"
MINIO_VOLUMES="/usr/local/share/minio/"
MINIO_OPTS="-C /etc/minio --address vps.ovh.net:443 --console-address :9001"
MINIO_SECRET_KEY="secret"
Run Code Online (Sandbox Code Playgroud)
如果我指定另一个端口(例如 9000 而不是 443),这次它可以工作,但该文件是通过 HTTP 提供的:
http://vps.ovh.net:9000/images/product/e53b9fde-4df1-4e54-bef4-76cd8c97cdb2.jpg
我已经在以下位置生成了证书/etc/minio:
pwd
/etc/minio/certs
ll
rw------- 1 minio-user minio-user 1704 Feb 3 11:05 private.key
-rw-r--r-- 1 minio-user minio-user 5522 Feb 3 11:05 public.crt
Run Code Online (Sandbox Code Playgroud)
有什么想法或建议吗?
如何在 apache2 中设置监听 https 请求?
我的一个虚拟主机具有以下形式:
<VirtualHost *:80>
ServerName central
DocumentRoot /var/www4
...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我应该如何修改我的 virtual-host-config 的这个摘录以启用 apache 来侦听 https?我需要它,因为我的网站应该在登录时发送 https POST 请求。我试过改变开始标签:
<VirtualHost *:80 *:443>
Run Code Online (Sandbox Code Playgroud)
……,但是没用。有任何想法吗?
明确一点:我不打算编写自己的协议或自己的客户端实现。我正在寻找一个现有的协议,它是 HTTP 标准的一部分,它通常已经被普通浏览器支持。(这种东西可能不存在。)
我有一个 HTTP 应用程序,需要对中间人威胁进行一些保护。(服务器需要能够向客户端证明其响应的真实性。)加密是无关紧要的,也是不必要的。此外,考虑到预期的命中率,硬件预算非常少。
通常,我只需要一个便宜的证书并在 Web 服务器上启用 SSL,但是负载生成器同时杀死了 Apache 和 Nginx(我不希望任何其他 Web 服务器做得更好)。对于非 HTTP 服务,负载很好。我还尝试配置 HTTPS 服务器以协商空加密密码。这有点帮助,但 SSL 握手仍然太重。
响应文档上的简单 SHA-1 签名(由服务器生成),由客户端验证,很适合我。我编写了一个简单的 Python FastCGI 脚本和 HTTP 客户端来仅测试裸露的 SHA-1 操作——它增加了一些负载,但不多,甚至不接近带有空加密的 SSL 添加的负载。但实际上,我的客户端不是 Python 脚本,而是 Web 浏览器。
(再次声明:我不是在提议我自己的加密协议,Python 脚本只是测试 SHA-1 哈希本身与 SSL 协商的其余部分相比产生了多少负载。我不能使用自定义客户端实现,因为我无法为所有客户端浏览器安装它。)
那么:是否有任何现有的轻量级(与 SSL 相比)用于 HTTP 的服务器身份验证协议?
有没有人有关于从 SAP 发送 HTTPS 请求的先决条件的任何信息?我可以正常发送 HTTP 帖子,但无法通过 HTTPS 发送请求。这是来自 ABAP
我想问题的核心是需要做什么来告诉 SAP 使用 HTTPS 连接而不是标准 HTTP。
谢谢
克里斯
使用 Apache 最常见的 HTTPS 设置,每个站点需要 1 个 IP 地址。Nginx 是否有同样的限制,还是单个 IP 地址可以为无限数量的 HTTPS 站点提供服务?
https://SSLSite.com
http://NoSSLSite.com
我需要 https://NoSSLSite.com 重定向到 https://SSLSite.com 。这可能吗?IIS 网络服务器
背景故事 - 我们最近进行了一些重大更改。但是一个部门使用旧网站 URL 向客户发送了文书工作。这些 URL 不再存在并且证书不在服务器上。
谢谢,
我了解公钥加密的工作原理,也了解它在 SSL 中的工作原理。服务器发送加密的(公共)密钥,所以我可以向它发送消息,但只有它知道解密它的私钥。
是否会发生相反的情况?我的浏览器是否向服务器发送了公钥以安全地发回数据,还是不安全?
由于我对 HTTPS 的了解有限,我开始想知道:代理服务器如何过滤 HTTPS 网站?我的意思是添加代理服务器本质上是一种 MITM 攻击,这是 HTTPS 明确应该防止的
我能想到的唯一方法是通过IP和端口阻止服务器。但是,对于SNI和通配符证书之类的东西,这意味着您可以阻止合法内容(假设必须阻止的站点与在这种情况下必须可用的站点共享 IP)。
那它有什么作用呢?由于加密,您无法读取连接的内容;您只知道有人很可能向某个 IP 地址发送 HTTPS 请求。