我有一个带有 SSL 证书的 Apache 2.2 服务器,它托管了几个只能使用 SSL 访问的服务。
即:https://myserver.com/topsecret/应该被允许,而http://myserver.com/topsecret/应该被拒绝,或者理想情况下,重定向到 https。
http://myserver.com/public不应该有这个限制,并且应该使用 http 或 https 工作。
允许/拒绝 http 的决定是在顶级目录中做出的,并影响其下的所有内容。
是否有可以在 Apache 配置中放置的指令以这种方式限制访问?
我一直在谷歌上搜索这个问题,具有讽刺意味的是我找不到具体的答案。这个问题我以前自己回答过,现在想不起来自己的解释了。
一年几次,有人会要求我这样做。我想向他们指出解释这一点的某种可敬的文章。
我想获取https://www.example.com/的 URL并将流量重定向到https://www.example2.com/。
我相信这在技术上应该是可行的,但不受欢迎。这种方法有什么问题?由于我将浏览器重定向到另一个站点,浏览器是否会出现安全弹出窗口?任何人都可以提供一些可观的文档的链接来解释这一点吗?
据我所知,HTTP很容易受到中间人攻击。因此,Alpine Linux或CentOS镜像中的存储库不是 HTTPS。
\n在过去,拥有 HTTPS 曾经是一件昂贵的事情。它会消耗服务器 CPU 时间,而且证书不是免费的。但现在已经是 2022 年了,我们有很多方法来克服这些问题,而且安全性比以往任何时候都更加重要!
\n我们如何才能更智能地获取二进制文件?
\n这也是更广泛的 Linux 社区中的一个问题吗?即Ubuntu、Linux Mint、openSUSE等?
\n你能想到任何 linux 命令行方法来保存 HTTPS 服务器提供的证书吗?类似于让 curl/wget/openssl 建立 SSL 连接并保存证书而不是 HTTP 响应内容。
相当于我正在寻找的 gui 是浏览到 HTTPS 站点,双击浏览器“安全站点”图标,然后导出证书。除了这里的目标是非交互式地进行。
谢谢,吉姆
尝试将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) 我刚修了两门关于计算机安全和互联网编程的大学课程。前几天我在想这个:
网络缓存代理服务器缓存来自网络服务器的流行内容。这很有用,例如,如果您的公司内部有 1 Gbps 网络连接(包括 Web 缓存代理服务器),但只有 100 Mbps 的 Internet 连接。Web 缓存代理服务器可以更快地为本地网络上的其他计算机提供缓存内容。
现在考虑 TLS 加密连接。可以以任何有用的方式缓存加密的内容吗?来自letsencrypt.org 的一项伟大举措旨在默认通过 SSL 加密所有互联网流量。他们通过让为您的网站获取 SSL 证书变得非常简单、自动化和免费(从 2015 年夏季开始)来实现这一目标。考虑到 SSL 证书的当前年度成本,免费真的很有吸引力。
我的问题是:HTTPS 流量最终会使 Web 缓存代理服务器过时吗?如果是这样,这将对全球互联网流量的负载造成什么影响?
目前我有一个 ELB 服务http://www.example.org和https://www.example.org。
我想设置它以便任何指向http://www.example.org 的请求都重定向到https://www.example.org。
ELB 将 https 请求作为 http 请求发送,因此使用:
server {
listen 80;
server_name www.example.org;
rewrite ^ https://$server_name$request_uri? permanent;
}
Run Code Online (Sandbox Code Playgroud)
将不起作用,因为对https://www.example.org 的请求仍将被发送到 nginx 上的端口 80。
我知道可以将其重写为
server {
listen 80;
server_name www.example.org;
if ($http_x_forwarded_proto != "https") {
rewrite ^(.*)$ https://$server_name$1 permanent;
}
}
Run Code Online (Sandbox Code Playgroud)
但是我读过的所有内容都if应该在 nginx 配置中不惜一切代价避免,这将适用于每个请求。此外,这意味着我必须为健康检查设置一个特殊的单独配置(如此处所述:“……当您位于 ELB 后面时,ELB 充当 HTTPS 端点并且仅向您的服务器发送 HTTP 流量,您破坏了以 HTTP 200 OK 响应响应 ELB 所需的健康检查的能力”)。
我正在考虑将登录放在 web 应用程序的代码中而不是 nginx 配置中(为了这个问题,我们假设它是一个基于 …
我知道设置 SSL 需要专用 IP。如果我们为共享 IP 的域添加 SSL 会发生什么?(名称虚拟主机)
在 CentOS 6 中,我可以setup从命令行输入,然后我会看到一组工具,其中一个是Firewall configuration. 我仍然可以在 CentOS 7 中执行此操作,只是列表不再Firewall configuration作为选项包含在内。
有谁知道我现在在哪里可以找到它以及它为什么被移动了?
这是我过去允许通过HTTP和传入流量的地方HTTPS。如果有更好的方法,我很乐意接受建议。谢谢。