ubuntu - 可以普遍执行严格的运输安全吗?
问题描述
我想阻止用户使用 http 访问我的网站。相反,我想强制使用 https。
通常,我将我的网站托管在仅具有“强制 https”复选框的提供商处。
在这种情况下,我有自己的 Ubuntu (nginx) 服务器。
我想知道我是否也可以在整个服务器范围内强制执行 https,还是必须在 HSTS 标头中使用预加载标志?
任何人都可以指向我描述如何使用我的配置解决此问题的文档吗?
谢谢!
解决方案
通常您需要两个server
块,其中侦听纯 HTTP 端口的一个将所有请求重定向到 HTTPS:
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/certificate;
ssl_certificate_key /path/to/privatekey;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
# all the other configuration
}
如果您还需要将所有非 www 域名请求重定向到 www one(反之亦然),请查看此答案。
推荐阅读
- vb.net - AcroPdfLib 临时旋转页面
- debugging - Intel VT-x:配置调试寄存器以从主机调试
- charts - Visio - 如何减小巨型流程图的大小
- django - Django:访问 CreateView 中的表单参数以传递给 get_success_url
- spring-mvc - 在 Liferay 7 中部署时,升级的 Spring MVC portlet 抛出 org.w3c.dom.Document not found 异常
- jenkins - 在 Jenkins Pipeline 中使用全局变量
- google-play - Google Play 开发者帐户的税费是否超过 25 美元?
- angular - 尝试创建新的角度应用程序时出现奇怪的错误
- ant - 从 VSTS 构建将变量传递给 build.xml
- javascript - 数字值的事件监听器