Articles of https

Nginx多服务器块SSL和非SSL

我在nginx.conf中需要一些帮助。 我需要从使用客户端证书身份validation的设备开始保护资源。 其他资源通过https,但不需要客户端证书。 我使用库在Ubuntu 16.04上安装了nginx。 然后我在/etc/nginx/conf.d/中创build一个名为dozee.conf的文件,并从服务器默认的Q&A( https://serverfault.com/a/721704/80340 )粘贴内容,并根据需要进行修改。 dozee.conf里面的configuration看起来像 server { listen *:443 ssl; server_name localhost; ssl on; ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; ssl_client_certificate /etc/nginx/ca.crt; ssl_verify_client on; location /device { proxy_pass http://localhost:8080/device; proxy_read_timeout 90; #proxy_redirect http://localhost/ $scheme://$host:$server_port/; } } server { listen *:443 ssl; ssl on; ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; ssl_client_certificate /etc/nginx/ca.crt; ssl_verify_client off; location / […]

将HSTS添加到nginxconfiguration

我最近改变了我的nginxconfigurationredirect所有httpstream量到https(和所有wwwstream量到no-www)。 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;添加add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;是否有意义add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; 我的服务器块以及? 或者这是不必要的,因为我已经redirect所有stream量? 知道优点(和缺点,如果有的话)将是伟大的。 在相关的情况下,我目前的虚拟主机configuration是: server { server_name example.com www.example.com; listen 80; return 301 https://example.com$request_uri; } server { server_name www.example.com; listen 443 ssl; ssl_certificate /etc/nginx/ssl/cert_chain.crt; … other SSL related config … return 301 https://example.com$request_uri; } server { server_name example.com; listen 443 ssl; […]

.htaccess代码将HTTP请求redirect到HTTPS

我最近把我的网站从HTTP迁移到HTTPS。 我在各种网站上阅读关于使用.htaccess代码将所有HTTP请求redirect到HTTPS。 许多网站提供不同的代码,现在我很困惑我应该使用哪个代码。 以下是在各种网站上find的4个代码: 第一码: RewriteEngine on RewriteCond %{HTTP_HOST} ^yoursite.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.yoursite.com [NC] RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC] 第二码: RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 第三码: RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] 第四码: NameVirtualHost *:80 <VirtualHost *:80> ServerName www.example.com Redirect permanent / https://secure.example.com/ </VirtualHost> <VirtualHost _default_:443> ServerName secure.example.com DocumentRoot /usr/local/apache2/htdocs […]

Nginx自动为子域redirectHTTP到HTTPS

我正尝试将所有stream量从http自动redirect到https 。 我怎样才能301redirect到我所有的域名和子域名? 这是NGNIXconfiguration文件 upstream app_server { server unix:/run/DigitalOceanOneClick/unicorn.sock fail_timeout=0; } server { listen 80 default_server; listen [::]:80 default_server; server_name sprintsocial.io app.sprintsocial.io admin.sprintsocial.io; # return 301 https://$server_name$request_uri; } server { #listen 80; listen 443; root /home/rails/sprintsocial/public; #server_name _; server_name sprintsocial.io app.sprintsocial.io admin.sprintsocial.io; ssl on; ssl_certificate /home/sprintsocial.io.chained.crt; ssl_certificate_key /home/sprintsocial.io.key; index index.htm index.html; # return 301 https://$server_name$request_uri; […]

通过NGINX反向代理看不到“_ *”头

我已经设置了一个nginx的反向代理来服务我的前端通过端口80,然后被redirect到443 ssl https和我的api后端节点 – expression在端口5000 over / api上。 到目前为止的基本工作,除了我不能通过json-web-token进行身份validation。 我总是得到一个“未经授权的”。 尝试通过邮递员和access_token是100%正确的。 对不起,如果这个问题之前已经被问过了(已经search了几天),但是这个话题对我来说是非常新的,我不想在涉及安全问题时做一些事情。 我的nginxconfiguration看起来像这样 server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; return 301 https://$host$request_uri; } # HTTPS — proxy all requests to the Node app server { # Enable HTTP/2 listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name example.com; root /var/www/example.com/html; […]

SSL Ajaxtypes的静态域名证书(image + js)

我有一个SSL页面,并有一个有效的证书扩展。 (mainpage.com)但是这个页面请求一些静态内容到另一个域(page-static.com),基本上是图像和js。 其实我只有我的mainpage.com证书。 所以现在当我要求这个页面时,我得到无效的SSL页面,因为它包含无效的encryption数据(由www.page-static.com提供的) 我需要什么样的证书www.page-static.com。 我是否需要与mainpage.com相同的,因为这个证书是昂贵的(这是一个扩展证书)。 或者从godaddy便宜的证书将做的伎俩。 这是另外一个问题,两个证书是否必须由相同的根提供者签名和/或相同的encryption密钥长度(或者只能是128位)? 谢谢你的帮助

Apache虚拟主机的SSL / HTTPS代理

我目前有一个运行在Apache上的应用程序。 它使用子域在用户帐户之间破坏。 我想添加SSL支持(通配符)。 一个相当普遍的解决scheme似乎是以下(只使用两个虚拟主机)。 <VirtualHost *:80> # sauron.com # some other app </VirtualHost> <VirtualHost *:80> # *.frodo.com Include app.conf </VirtualHost> <VirtualHost *:443> Include a file SSLEngine On … </VirtualHost> 不过,我宁愿在*:80虚拟主机前面有一个SSL代理。 我运行了跨越mod_proxy但我发现的样本不处理子域(或只有手动configuration每个子域)。 user1.frodo.com:433 -> user1.frodo.com:80 userX.frodo.com:433 -> user1.frodo.com:80 任何想法如何用Apache代理实现这一点? 还是应该使用额外的代理服务器(nginx?)呢? 那么是否有任何样本configuration(找不到这个nginx子域的情况下)?

根据1个SSL证书组合3个不同的网站?

我应该这样说,我没有SSL的实际知识,这个特别的设置看起来特别复杂。 我的情况如下:我为一个客户端运行3个网站,在2个Linuxnetworking上运行。 客户端在其防火墙和2个盒子之间运行硬件负载平衡器,以在两个盒子之间分配stream量。 目前,这些网站都只有HTTP,每个网站在每个网站上都有自己的IP地址,并且可以在公共url上使用,如a.mysite.com,b.mysite.com和c.mysite.com 客户端要求我将所有内容切换到HTTPS下运行,并尝试configuration以下设置:使用https://main.mysite.com/创build一个新的域(在https下) https://main.mysite.com a / mappng到a.mysite.com, https: //main.mysite.com/b/ mappng到b.mysite.com等 主要目标是将所有3个站点切换到HTTPS。 统一的1领域的东西是一个“很好有”。 客户有这样的信念,证书很贵,是吗? 首先,我不知道购买证书,设置SSL等,所以任何指向HTTPS初学者指南的链接将不胜感激。 authentication价格的一个粗略的想法也会很好。 其次,因为Web服务器软件需要重新编译才能在SSL下运行,所以我对解决scheme感兴趣,以便我不要更改Web服务器软件。 这是否是一个反向代理? 第三,“统一下1领域的东西”甚至可能吗? 第四,在这种情况下我需要多lessSSL证书? 干杯!

跨多台服务器设置HTTPS

我想通过HTTPS提供我们的在线服务,并且遇到了一些理解如何实现这一点的问题。 要访问我们的服务,您必须通过我们的ISA防火墙到运行IIS6的Win2000服务器。 我们大约一半的服务位于此处,另一半则带您到运行IIS6的Win2003服务器。 那么,为了达到这个目的,每台服务器都必须安装适当的证书? ISA,IIS6_1和IIS6_2? 是否有必须对我们的ISA防火墙进行单独的configuration? 另一个问题是CA和知道我需要多less证书。 请注意,我们在IIS6_1上的services.example.com的域名是www.example.com ,但IIS6_2上的域名是services.example.com 。 我相信这将要求我购买多个证书。 看起来好像我们将和Thawte的SSL123一起进行,因为这是个好名字,而且速度很快。 我是否需要购买两个证书(一个用于安装在我们的ISA防火墙上的www.example.com以及IIS6_1,另一个用于IIS6_2上的services.example.com)? 或者我需要购买三个,我们的防火墙服务器上使用的额外的一个? 另一个侧面的问题是关于SAN(主题替代名称)。 这基本上是添加子域到您的证书? 所以我可以购买一个证书与一个SAN的www. 和services. ?

命名的虚拟主机+ HTTPS不应该工作?

Apache的httpd文档说基于名称的虚拟主机不适用于SSL。 但我们的网站正在这样的configuration工作! 在site1.conf中,我们有 <VirtualHost *:443> ServerName site1:443 DocumentRoot /var/www/site1 ErrorLog /var/log/apache2/site1.error.log TransferLog /var/log/apache2/site1.access.log SSLEngine on SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP SSLCertificateFile /etc/apache2/keys/trac.crt SSLCertificateKeyFile /etc/apache2/keys/trac.key SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown … </VirtualHost> 其他网站几乎完全相同,但是使用site2而不是site1。 据我所知,我们要么非常幸运,要么我不了解文件。 这两个URL工作,并通过HTTPS提供不同的内容。 有人可以摆脱一些光?