Articles of https

CentOS 7服务器无法加载Web应用程序资源

我试图设置一个CentOS 7服务器来托pipe一个安全的html,php,js,webapp使用openssl 。 目前,我已经设置了一个定义端口80和端口443的虚拟主机文件。我有一个有效的SSL证书和密钥,并在虚拟主机443中定义了.crt和.keypath。 我有一个几乎完全相同的Windows服务器上的configuration设置,按预期工作,我可以通过https导航没有问题。 我会期望相同的Linux服务器,但相反,当我通过端口443连接使用: https://example.com : https://example.com它将加载该网站,但无法加载额外的资源,如css,js文件,触发GET调用。 当我检查其中一个失败资源的networking选项卡时,会显示对https://example.com:80/nextpage或https://example.com:80/min/?g=call的呼叫。 添加的端口80对我来说似乎很陌生。 它在Firefox中给出的消息是: 安全错误阻止资源被加载 Chrome在控制台中提供了一个错误: 无法加载资源:net :: ERR_SSL_PROTOCOL_ERROR 我怀疑这个问题是由于试图从80端口虚拟主机通过https加载文件。 虽然这可能没有任何意义。 在Windows服务器检查浏览器检查中的networking选项卡时,我看不到添加了:80资源文件。 Apache / httpd日志: error_log – 重新启动apache / httpd [Thu Mar 02 10:51:20.601856 2017] [mpm_prefork:notice] [pid 23548] AH00170: caught SIGWINCH, shutting down gracefully [Thu Mar 02 10:51:21.654006 2017] [core:notice] [pid 24307] SELinux policy enabled; httpd running […]

无法通过该iis服务器上的https访问iis托pipe的网站

我有在Windows Server上托pipe在iis上的网站。 它使用https协议。 它在互联网上工作。 但它不能在托pipe它的服务器上工作。 我的意思是我无法在浏览器中打开它。 Chrome中的错误是ERR_CONNECTION_RESET。 我也有这个服务器上的http网站。 在向主机文件添加条目之后,他们可以从服务器访问,但https网站的条目没有帮助。 我的意思是(127.0.0.1 hostwithhttps.com)。 你能告诉我应该改变什么?

在Caddy中将一些HTTPSstream量redirect到HTTP

我使用Caddy作为同一台服务器上许多站点的代理。 我的一些网站还没有准备好HTTPS。 我可以路由他们的HTTP很好,但如果我访问这些网站的HTTPS,我得到一个丑陋的… No such site at :443 …错误。 我怎样才能使用Caddyredirect到HTTP呢? 这工作,但给我的错误: siteCanHandleSSL.com { proxy / 123.123.123.123:80 { transparent } tls [email protected] { dns route53 max_certs 200 } } http://siteCantHandleSLL.com { proxy / 123.456.654.321:80 { transparent } tls off } 这给了我一个不同的错误: siteCanHandleSSL.com { proxy / 123.123.123.123:80 { transparent } tls [email protected] { dns route53 max_certs 200 […]

让我们用DNSredirect来encryptionLAN上的证书?

我正尝试使用现有的LE证书与我局域网上的服务器。 我公开了端口443获得mine.example.com和https访问的证书,从WAN工作正常。 但是,我假设(也许愚蠢),我可能能够在内部使用相同的证书,通过在我的LAN上设置DNSredirect(在单独的框中使用dnsmasq),将mine.example.com指向本地IP。 redirect工作正常,当我去mine.example.com时,本地机器指向内部IP,但证书现在显示“证书颁发机构无效”错误。 也许我误解了CAstream程是如何工作的,但是我认为,由于LE证书是基于DNS的,所以他们仍应该使用本地DNSredirect。 有谁知道如何使这项工作? 或者任何人都可以解释为什么它不工作? 我知道我可以从LE获得本地机器的不同证书,但是这意味着尝试将服务器configuration为使用不同的证书来进行内部和外部访问。 假设我需要这样做,是否有一种简单的方法来根据源stream量使用不同的证书? 我将通过nginx和Webminpipe理面板来提供web内容,因此在configuration灵活性方面做nginx可能相对容易(虽然谷歌在这里也没有太多的帮助),但不能确定其他web服务在机器上运行? PS对不起,如果这是一个重复,但无法find任何有很多search这里(或谷歌)。

如何让nginx正确代理(包括在头文件中设置的基本authentication)Apache?

编辑:如果您有关于如何改进问题或缺less哪些细节的想法,请留下评论。 预期结果: 我试图将nginx作为反向代理来部署,让我公开由Apache提供的文件,而不必提供Apache所需的基本authentication凭证。 我的计划是在从代理发送到Apache的头文件中“静态地”提供基本的authentication凭证,以便用户可以在没有(或看到/知道)凭证的情况下访问这些文件。 build立: Apache需要通过https进行基本身份validation。 要部署的反向代理服务器本身是由一个处理到(docker)主机的传入stream量的nginx代理的。 (docker)主机入口nginx只在443上监听,(docker)主机上/内的stream量是http。 所以设置是: https >> [dockerhost ingress nginx] >> http >> [nginx reverse proxy] >> https >> [apache file server (basic auth)] 我正在使用最新的nginx docker镜像,只是添加了conf。 对于dockerhost入口代理,我使用https://github.com/jwilder/nginx-proxy 。 Apache正在从Hetzner存储箱提供文件。 我看不到或改变它的configuration,Hetzner说他们不能帮助我,因为他们没有正式支持这种设置。 他们最后的答复是: 我们的Apache不需要任何特定的头文件。 所有必要的是通过正确的主机名(由于SNI)和通过端口443处的SLL / HTTPS获得正确的凭证的请求。 问题: 直接地,没有nginx代理,我可以在浏览器中通过基本的身份validation提示或通过curl访问Apache上的文件。 当我尝试通过代理访问这些文件,并试图在nginxconfiguration中将“静态”的信息传递给头部时,我只能从404获得404s。 但是,我可以(而且这使我)通过代理访问文件时,代理没有“静态”基本身份validation,只是提示我的凭据。 所以它似乎是通过基本身份validation,但不能访问任何文件,这使我竹编。 我试过的: 我最初的方法是在这里使用 @Shai提供的位置块进行滚动: 如何使用nginx代理需要身份validation的主机? location / { proxy_set_header Host $host; proxy_set_header […]

Nginx的SSL HTTPS不能正常工作,甚至防火墙是打开的

HTTP从服务器和客户端正常工作。 HTTPs只能在服务器上运行。 我能做些什么来使HTTP在外部工作? 从服务器 OpenSSL : OpenSSL 1.0.2g 1 Mar 2016 Nginx : nginx/1.10.3 OS : Ubuntu 14.04.5 LTS NodeJS : v6.10.2 我有一台服务器上的127.0.0.1:5000绑定的127.0.0.1的nodejs express服务器。 我已经build立了一个反向代理到这个nodejs express服务器。 这是我的nginxconfiguration文件: upstream nodejs { server 127.0.0.1:5000 fail_timeout=10s; } server { listen 80; listen 443 ssl; server_name domain.foo; ssl_certificate /etc/letsencrypt/live/domain.foo/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain.foo/privkey.pem; location /.well-known { root /var/www/ssl-proof/default/; } location / […]

在两台服务器上使用SSL / TLS保护IIS反向代理和后端服务之间的通信

我目前正在build立一个面向互联网的IIS反向代理,它将把HTTP请求转发给一个内部的API服务器。 我能够让服务器通过SSL连接世界和逆向代理之间的连接,以及通过普通HTTP运行反向代理和API服务器之间的连接。 我尝试将API服务器设置为使用自签名证书在HTTPS上运行,但是,如前所述,尝试通过代理访问它时,出现502错误的网关错误。 我猜测问题是自签名证书,因为:反向代理服务器通过其内部IP地址访问API,而不是自签名证书上的名称? 另外 – 我希望SSL卸载启用或禁用? 如果它被禁用,代理会尝试将API的证书传递给客户端,还是自己的证书? 会有两个单独的SSL连接或一路通过? 任何和所有的帮助表示赞赏! 谢谢!

通过cloudflare在nginxnetworking服务器上获取ERR_SSL_VERSION_OR_CIPHER_MISMATCH

我有一个docker工人基础设施组成 1个nginx反向代理1个nginx web服务器1个php7.0 fpm服务器 nginx反向代理和web服务器都使用相同的docker镜像,但只是加载了不同的站点confs。 在反向代理服务器上,它也提供了一个静态的JavaScript SPA,以及反向代理服务器的web服务器。 所以两个nginx容器都运行相同的/etc/nginx/nginx.conf 我的SSLconfiguration在这里 ## # 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; 我的站点configuration为反向代理是这样的 server { listen 1025 ssl http2; listen [::]:1025 ssl http2; server_name api.site.com; location / […]

Nginx httpredirect到https

我有这样的configuration: server { listen 80; server_name example.pl *.example.pl; rewrite ^/(.*)$ http://www.example.pl/$1 permanent; } server { listen 80; listen 443 ssl; ssl on; ssl_certificate /opt/nginx/ssl/server.pem; ssl_certificate_key /opt/nginx/ssl/server.key; server_name www.example.pl; root /var/www/example/public/; # <— be sure to point to 'public'! } 所以现在每个像xx234.example.pl这样的子域都被重写为http://www.example.pl 现在我尝试设置https。 https://www.example.pl工作正常,但我不能将stream量从httpredirect到https。 当我这样做: server { listen 80; server_name example.pl *.example.pl; #rewrite ^/(.*)$ http://www.example.pl/$1 permanent; return […]

如何在Nginx服务器上将所有域(通用/每域)redirect到HTTPS?

我只是设置了我的VPS,并安装了所有的域名,让我们encryptionSSL证书。 但是,我所有的域仍然通过http://加载,而不是https://(除非手动input)。 现在,我希望所有域默认开始使用https://。 我怎么做? 为了logging,我有一个运行Nginx + php-fpm的Ubuntu 16.04 VPS,没有Apache。 老实说认为这很奇怪,在这个时代默认打开SSL是非常困难的,因为它几乎应该像食物,饮料和头顶上的屋顶一样标准。