宝塔面板http301https 宝塔linux面板搭建网站
nginx配置SSL/TLS证书,并强制https方式访问
我平时对nginx的配置并不熟悉,即使配置也仅限于最基础的功能。在个人使用时,我通常使用宝塔面板进行操作,因为它操作简单,无需与配置文件纠结,虽然看起来略显简单。本次演示操作将依赖cloudflare平台完成。
一、首先在cloudflare中设置好DNS映射,并开启代理。
二、在cloudflare的SSL/TLS设置中生成源证书,下载并保存私钥(我将其命名为privete.key)和源证书(我将其命名为server.pem),然后将它们上传到服务器。
三、修改nginx配置文件。我仅对nginx自带的标准配置进行了修改,开启了“Settings for a TLS enabled server”部分(其他部分未做改动),并将ssl_certificate和ssl_certificate_key的路径修改为刚刚上传的server.pem和private.key。
经过以上步骤,就可以通过域名打开默认的nginx主页面了。
四、设置nginx强制使用https访问。目前,你可以通过xxx.com和xxx.com两种方式访问页面,但我们不希望有人通过http方式访问。以下是几种设置方法:
方法一,在cloudflare的SSL/TLS设置中开启“始终使用HTTPS”。这不是本文的主旨,只是顺便提及。请注意,这里的“始终使用HTTPS”选项不能与nginx端同时开启,否则会出错。下面两种方法都是在nginx端进行设置。
方法二,使用rewrite重写。
方法三,使用301重定向。
至此,配置完成。说实话,这玩意配置起来还挺复杂的,很容易出错,而且在进行效果检验时,浏览器缓存总是会影响测试结果。相比之下,宝塔面板的操作简单无脑。
在宝塔里设置好了https,然后想让http跳转到https在哪里设置
确定HTTP与HTTPS都可以访问后设置。HTTP不能访问的先绑定域名,HTTPS不能访问先安装证书。
宝塔控制面板设置强制HTTPS:
站点设置——SSL——强制HTTPS
宝塔强制HTTPS
宝塔控制面板无法设置的,采取以下办法:
Apache、Nginx环境的,请在网站根目录新建.htaccess
文件代码:
<IfModulemod_rewrite.c>
RewriteEngineon
RewriteBase/
RewriteCond%{SERVER_PORT}!^443$
RewriteRule(.*)https://%{SERVER_NAME}/$1[R=301,L]
</IfModule>
IIS服务器环境强制HTTPS设置:网页链接
解决办法:确定HTTP可访问后,然后在进行设置。其它技术问题可以在Gworg获得帮助。