我已经部署了一个带有ISPConfig和Nginx的CentOS服务器。
我还能够手动配置Nginx(通过编辑/etc/nginx/sites-available/mysite.com.vhost),将http请求重定向到https:
server {
listen 80;
server_name mysite.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
..
}
当我手动编辑文件时,每次使用ISPConfig更改设置时,我的vhost文件都会被覆盖,我会丢失重定向技巧。
您是否知道使用ISPConfig面板配置重定向的方法,而不是手动编辑nginx文件?
谢谢你。
答案 0 :(得分:1)
我已将重定向配置为建议的已接受答案。
此外,我还包含了外部配置,因此我将所有手动配置。
在我们的ISPConfig版本中,我这样做了:
if ($scheme != "https") {
rewrite ^ https://$http_host$request_uri? permanent;
}
include /etc/nginx/sites-available/my-own-config.conf;
这样,ISPConfig就不会破坏我们的配置。
答案 1 :(得分:0)
在更新版本的ISPConfig上,您只需选择要使用SSL的网站(这意味着HTTPS,以及可选的SPDY或HTTP / 2),并附加一个复选框,将所有HTTP请求永久重定向到HTTPS,以及ISPConfig将自动正确生成vhosts文件。
为了completude,这是ISPConfig添加的内容:
server {
listen *:80;
listen *:443 ssl;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate /var/www/clients/clientX/webY/ssl/your.web.site.crt;
ssl_certificate_key /var/www/clients/clientX/webY/ssl/your.web.site.key;
server_name your.web.site www.your.web.site;
root /var/www/your.web.site/web/;
if ($http_host = "www.your.web.site") {
rewrite ^ $scheme://your.web.site$request_uri? permanent;
}
if ($scheme != "https") {
rewrite ^ https://$http_host$request_uri? permanent;
}
index index.html index.htm index.php index.cgi index.pl index.xhtml;