我目前的SSL证书覆盖了子域名www.example.com和static.example.com 因此,如果用户尝试通过https://example.com访问我的网站,我想将他redirect到https://www.example.com 。 我如何在我的nginx conf中做到这一点? 我知道这里有类似的问题,但我在这里找不到解决scheme。
我在我的机器上运行的Tomcat上启用了压缩function。 https响应头显示压缩已启用,但打开和未打开压缩时传输的数据量相同。 不压缩: Status OK Code 200 Encoded 218.89 KB Decoded 218.89 KB Transfered 219.22 KB Compressed No 压缩: Status OK Code 200 Encoded 218.89 KB Decoded 218.89 KB Transfered 219.26 KB Compressed Yes Compression 1.00× 我可以在响应头中看到Content-Encoding为gzip。 server.xml中的连接器定义如下: <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="xxxxx" keystorePass="xxxx" useSendfile="false" compression="force" /> 我正在使用Tomcat 8.0.12。 浏览器是在Mac […]
Azure公共负载平衡器后面有一个Azure虚拟机。 VM正在运行一个网站。 我可以通过HTTP在浏览器中加载网站没有问题,但是当我尝试HTTPS时,我得到一个502错误。 我已经设置了一个负载均衡规则来发送443到虚拟机。 我通过Network Security Group允许443上的所有连接。 我三重检查了configuration,并一直在看这个小时,但无法取得任何进展。 另外一个线索是,如果我远程访问虚拟机,请将我的DNS名称设置为指向虚拟机的内部IP(10.1.2.4,而不是指向负载平衡器的公共IP),然后在浏览器中加载该站点它工作的HTTPS。 我不知道这是什么意思,除了似乎我的IISconfiguration不是问题。 任何想法将非常感激,我很乐意提供更多的细节。 谢谢! 编辑1 在我的Azure负载平衡器中,当我删除了我的HTTPS负载平衡规则,而是添加了一个NAT规则,将443通信量直接redirect到我的一个虚拟机之后,HTTPS完美运行。 所以它似乎是特定于我的configuration使用HTTPS与负载平衡规则。
我正在部署一个使用lighttpd的PHP网站。 为了得到漂亮的URL,我把它放到configuration文件中: url.rewrite = ( "^/(?!(wp-admin|wp-includes|wp-content))/(.*)" => "/index.php?$1", ) 除了下面的副作用,这个效果很好。 当我调用url.rewrite中的正则expression式不匹配的path并调用$_SERVER['HTTPS'] ,它将返回"on" 。 当我调用正则expression式匹配的path并调用$_SERVER['HTTPS'] ,它将不会返回任何内容。 如何告诉PHP使用url.rewrite时连接是安全的?
我在AWS上部署了一个节点js应用程序,使用单个实例的Elastic Beanstalk。 它适用于HTTP,但在设置HTTPS访问时遇到问题。 我创build了我的证书,并遵循AWS EB文档中的说明: http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-nodejs.html 这是我部署新代码后对我的问题的描述: 我仍然可以使用HTTP连接到浏览器上的URL,但是,当尝试使用HTTPS连接时,我收到消息ERR_CONNECTION_REFUSED 我用netcat来检查端口443是否可达,而不是: nc -z environment.elasticbeanstalk.com 80 收益: Connection to environment.elasticbeanstalk.com port 80 [tcp/http] succeeded! 但 nc -z environment.elasticbeanstalk.com 443 什么也不返回 我还检查了与EC2实例关联的安全组的入站规则,并确实打开了端口443: 最后,我检查了弹性beanstalk日志,找不到任何对HTTPS请求的引用。 如果我在尝试使用HTTPS访问应用程序的时候查找时间戳,则没有。 看起来nginx服务器从来没有收到请求。 当我使用php / apache服务器使用Elatstic Beanstalk时,我没有设置类似的HTTPS访问的任何问题,但在这种情况下,我是node / nginx的新手,所以我可能会错过一些基本的东西。 你有什么build议,我可以检查什么,我可以做什么? 非常感谢你提前, 埃雷兹
我有一个使用免费的Cloudflare服务的网站,并启用了HTTP Strict Transport Security (HSTS)预加载。 如果我希望从Cloudflare中删除域名并直接路由到域名托pipe的服务器,并且有效的SSL证书,那么无论max-age期限是否过期,该站点都将保持可访问状态。 我已经启用了HTTP Strict Transport Security (HSTS)的唯一位置在Cloudflare控制台的内部,它实际上没有在源服务器上configuration。 Cloudflare的HSTS警告面板来源 谢谢。
我尝试安装一个HTTPS证书,并且在将我的头靠在墙上几个小时之后,我意识到Nginx并没有拿起我在/etc/nginx/sites-available/ 当我运行service nginx restart它重新启动罚款。 当我运行nginx -t它说我的语法是好的,我的configurationtesting是成功的。 但是,当我运行service nginx reload我得到一个错误,说reload: Not running 当我看着/var/log/nginx/error.log我有这些错误。 2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:80 failed (98: Address already in use) 2016/08/29 16:04:40 [emerg] 14744#14744: bind() to 0.0.0.0:443 failed (98: Address already in use) 2016/08/29 16:04:40 [emerg] 14744#14744: bind() to [::]:80 failed (98: Address already in use) 2016/08/29 16:04:40 [emerg] 14744#14744: […]
我最近从dns-01切换到http-01 callengetypes的letsencrypt,因为我打算在未来签署我的dns区域,因此不再需要自动区域操作。 自从我做了这个改变以后,我不能再更新我的一些区域(我假设这些区域是我最初通过dns-challenge签名的)。 我的旧区域(从第一次使用 – 从一开始就使用http)正常工作。 只是为了澄清事情,我使用lukas2511的脱水客户端 。 我添加了一些debugging输出来检查脚本中是否有问题 – 而且看起来好像没有。 在提出挑战之后,我收到回复: { "identifier":{ "type":"dns", "value":"dennisschuerholz.de" }, "status":"valid", "expires":"2017-04-16T11:43:43Z", "challenges":[ { "type":"http-01", "status":"pending", "uri":"https://acme-v01.api.letsencrypt.org/acme/challenge/<some foo>/133324572", "token":"<some token>" }, { "type":"tls-sni-01", "status":"pending", "uri":"https://acme-v01.api.letsencrypt.org/acme/challenge/<some foo>/133324573", "token":"<some token>" }, { "type":"dns-01", "status":"valid", "uri":"https://acme-v01.api.letsencrypt.org/acme/challenge/<some foo>/133324574", "token":"<some token>", "keyAuthorization":"<some bar>", "validationRecord":[ { "Authorities":[ "dennisschuerholz.de.\t900\tIN\tNS\tns3.schuerholz.it.", "dennisschuerholz.de.\t900\tIN\tNS\tns1.schuerholz.it.", "dennisschuerholz.de.\t900\tIN\tNS\tns2.schuerholz.it.", "dennisschuerholz.de.\t900\tIN\tNS\tns.schuerholz.it." ], "hostname":"dennisschuerholz.de", "port":"", […]
我在Amazon S3上build立了一个静态网站。 我还想为我的自定义域名申请一个SSL证书,所以我也必须设置ACM + Cloudfront。 这工作正常(Cloudfront和客户端之间的连接是encryption的),但是有一个细节让我烦恼:Cloudfront和S3之间的连接是通过普通的HTTP进行的。 这是因为S3 Webterminal显然不支持HTTPS。 REST之一,但似乎我不能使用它,因为它打破了我的网站干净的url(例如见https://stackoverflow.com/questions/22740084/amazon-s3-redirect-and-cloudfront ) 我的问题是:Cloudfront和S3是否可以通过HTTPS进行通信? 如果没有,攻击者可以在Cloudfront和S3之间做一个MITM吗? 这不像我的网站正在进行金融交易,但是HTTPS只能在“前端”工作,这是相当烦人的。
这是我目前的nginxconfiguration: $ cat /etc/nginx/sites-enabled/bitbucket server { listen 80 default_server; listen [::]:80 default_server; server_name git.itextsupport.com bitbucket.itextsupport.com gitlab.itextsupport.com; return 302 https://git.itextsupport.com$request_uri; } server { listen 443 ssl default_server; server_name git.itextsupport.com; server_tokens off; add_header Strict-Transport-Security "max-age=31536000"; access_log /var/log/nginx/bitbucket_access.log; error_log /var/log/nginx/bitbucket_error.log; ssl on; ssl_certificate /etc/ssl/private/ssl-itextsupport.pem; ssl_certificate_key /etc/ssl/private/ssl-itextsupport.key; location / { proxy_pass http://localhost:7990/; proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; proxy_set_header […]