标签: https

无法从 Nginx 中删除强制 HTTPS 重定向?

我最初将 Nginx 配置设置为自动将 HTTP 重定向到 HTTPS。由于我的工作安全策略和 Cloudflare 集成,HTTPS 无法在我的网络内解析。

我只想删除强制重定向到 HTTPS。但是在用 URI 重写注释掉块后,服务器仍然会自动重定向。

这是我的 Nginx 默认配置

#HTTPS redirect (if necessary)
#server {
#       listen      80;
#       server_name example.com;
#       rewrite     ^   https://$server_name$request_uri? permanent;
#}

server {
        listen 80;
        listen [::]:80 default_server ipv6only=on;
        listen 443 ssl spdy;
        root /var/www/example/current/public;
        index index.php index.html index.htm;

        spdy_chunk_size 8k;
        spdy_headers_comp 7;

        server_name example.com;
        # Point to ssl certificates
        ssl_certificate /root/example.com.crt;
        ssl_certificate_key /root/example.com.key;
        # Allow only secure TLS protocols
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        #ssl_prefer_server_ciphers on;
        #ssl_ciphers …
Run Code Online (Sandbox Code Playgroud)

ubuntu ssl nginx https redirect

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

<location> 括号中的 SSL mod_proxy 问题

我在让 proxypass 在 apache 中工作时遇到问题。

我的配置文件如下:

<VirtualHost 1.2.3.4:443>

    ServerName example.com
    ServerAlias www.example.org
    ServerAdmin info@example.org
    DocumentRoot /home/admin/web/knyz.org/public_html
    ScriptAlias /cgi-bin/ /home/admin/web/knyz.org/cgi-bin/
    Alias /vstats/ /home/admin/web/knyz.org/stats/
    Alias /error/ /home/admin/web/knyz.org/document_errors/
    #SuexecUserGroup admin admin
    CustomLog /var/log/apache2/domains/knyz.org.bytes bytes
    CustomLog /var/log/apache2/domains/knyz.org.log combined
    ErrorLog /var/log/apache2/domains/knyz.org.error.log
    <Directory /home/admin/web/knyz.org/public_html>
        AllowOverride All
        SSLRequireSSL
        Options +Includes -Indexes +ExecCGI
    </Directory>
    <Directory /home/admin/web/knyz.org/stats>
        AllowOverride All
    </Directory>
    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile /home/admin/conf/web/ssl.knyz.org.crt
    SSLCertificateKeyFile /home/admin/conf/web/ssl.knyz.org.key
    SSLCertificateChainFile /home/admin/conf/web/ssl.knyz.org.ca
    <IfModule mod_ruid2.c>
        RMode config
        RUidGid admin admin
        RGroups www-data
    </IfModule>
    <IfModule itk.c>
        AssignUserID admin admin
    </IfModule>

    IncludeOptional /home/admin/conf/web/sapache2.knyz.org.conf*

    ##ISSUE …
Run Code Online (Sandbox Code Playgroud)

ssl https mod-proxy mod-ssl apache-2.4

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

Linux HTTPS 标头检查

我需要检查通过我的 Linux (CentOS 6.5) 路由器的部分 HTTPS 流量。特别是我需要知道用户请求的是哪个目标网站主机。用户可以是我无法控制的访客浏览器/设备(即无法部署证书)。我不关心内容/有效负载,我只需要将目标 URL 记录到日志文件中:-)

它在技术方面是开放的,我不受限制,因此可以使用 iptables、squid 或任何其他在 Linux 上运行的过滤器(最好不是商业过滤器 - 其中一些是由设备许可的)。或者甚至是上述的组合。

我很确定这是可以做到的,因为如果我可以在我的 Windows 机器上安装 Fiddler 并使用 Chrome 浏览 HTTPS 网站而没有证书警告并在 Fiddler 中看到“主机”。

我花了一些时间来寻找如何做到这一点,但到目前为止,需要在客户端浏览器上安装证书受到了限制。那,我只能找到 iptables 的字符串匹配,但据我所知,HTTPS 数据包是加密的(我错误地认为目的地不会被加密?)

对此的任何帮助将不胜感激,希望我已经涵盖了足够详细的要求。

linux router https

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

Nginx 连接上游 Apache:重新协商握手失败

我正在配置将用作反向代理的新 Nginx 服务器。我们有运行 Apache 的旧 Debian 服务器。在这个 apache 服务器上,只有 HTTPS 访问的站点我想隐藏在代理后面。

从代理到上游 Apache 的连接必须通过 HTTPS(服务器位于不同的位置,Apache 只允许 HTTPS 访问)。

我的问题是从 Nginx 到 Apache 的连接失败。从浏览器到上游通过 HTTPS 的正常连接没有问题。从同一代理到 Nginx 上游的连接有效。当 Nginx 尝试连接到上游 Apache 连接失败并重新协商握手失败时

来自代理 Nginx 的日志(调试级别)仅表示:

2016/04/07 15:51:08 [error] 5855#0: *1 upstream prematurely closed connection while reading response header from upstream, client: 94.113.97.9, server: procrastination.com, request: "GET / HTTP/1.1", upstream: "https://77.240.191.234:443/", host: "procrastination.com"
Run Code Online (Sandbox Code Playgroud)

从上游 Apache 登录:

[Thu Apr 07 15:36:48 2016] [info] Initial (No.1) HTTPS request received for child 35 (server …
Run Code Online (Sandbox Code Playgroud)

nginx proxy https apache-2.2

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

强制 httpS://example.com 转到另一个站点

我在 Apache Web 服务器上托管了多个站点。

站点 A 是 HTTPS,站点 B 是 HTTP。

当人们使用 HTTPS 访问站点 B 时(我不知道他们为什么这样做,因为它没有 HTTPS 并且从来没有,但他们这样做了),他们被定向到站点 A。我该如何解决这个问题并让他们继续使用B站?

ssl https apache-2.2

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

https 通过仅 http 代理?

我的组织通过代理引导所有流量。作为代理设置,我们需要为 http_proxy 和 https_proxy 环境变量使用 http 代理设置。

如果我将 https_proxy 变量设置为同一代理的 https 版本,则某些使用 https_proxy 环境变量的程序将停止工作。

那么这是否意味着代理不支持https连接?在我的浏览器中正常加载的 https 网站呢?

proxy https

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

IP地址上的HTTPS而不是域名?

看起来像 IP 地址的 HTTPS 证书而不是域名的 HTTPS 证书是可能的。

我的目标是在 IP 地址上使用 HTTPS,例如:https://XX.YY.WW.ZZ

但是我找不到任何提供此类服务的公司:有什么建议吗?

hosting ssl https

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

通过第三方 SSH 隧道的 HTTPS。安全吗?

我只是从第三方那里得到一台 Linux 服务器。然后我通过 SecureCRT 创建一个 SSH 隧道:https://www.vandyke.com/support/tips/socksproxy.html,其中 Linux 服务器用作网关服务器。

但是,Linux 服务器不是 100% 安全的,因为它是由第三方管理的。现在如果我通过SSH隧道连接到HTTPS服务器,发送到HTTPS服务器的密码会被Linux服务器的管理员盗用吗?

security linux ssh password https

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

基于 Nginx Path 的客户端 TLS 验证

我在谷歌上搜索了一下,似乎 nginx 没有提供一种基于路径进行客户端 TLS 验证的方法。我只是想问社区情况是否仍然如此,或者是否有某种解决方法。

我基本上是想拥有一个管理页面domain-name/admin,其中访问公共域名只需要服务器端 TLS 验证,但我只想对 /admin 路径进行双向 TLS 验证。这甚至可能而无需为管理员获取新域吗?

ssl nginx https

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

通过 cloudflare 在 nginx 网络服务器上获取 ERR_SSL_VERSION_OR_CIPHER_MISMATCH

我有一个码头基础设施,包括

1 个 nginx 反向代理 1 个 nginx 网络服务器 1 个 php7.0 fpm 服务器

nginx 反向代理和网络服务器都使用相同的 docker 镜像,但只是加载了不同的站点配置。

在反向代理上,它还提供静态 javascript SPA 以及反向代理到为我的 api 提供服务的网络服务器。

所以两个 nginx 容器都运行相同的 /etc/nginx/nginx.conf

我这里的 ssl 配置是

##
# SSL Settings
##
ssl_stapling off;
ssl_session_timeout 1h;
ssl_session_tickets off;
ssl_stapling_verify off;
ssl_ecdh_curve secp384r1;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;
ssl_certificate /srv/ssl/nginx-selfsigned.crt;
ssl_certificate_key /srv/ssl/nginx-selfsigned.key;
ssl_dhparam /srv/ssl/dhparam.pem;
Run Code Online (Sandbox Code Playgroud)

我的反向代理站点配置是这样的

server {

  listen 1025 ssl http2;
  listen [::]:1025 ssl http2;

  server_name api.site.com;

  location / {

    #include /etc/nginx/naxsi.rules; …
Run Code Online (Sandbox Code Playgroud)

ssl nginx https cloudflare docker

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