我在nginx服务器上有网站!我希望默认情况下通过https访问网站(在指定的端口,我在下面写)!我的意思是,当我在浏览器中写道时mysite.net:90
或www.mysite.net:90
,它将继续使用https,而不是http!我已经尝试在服务器块中使用“重写”重定向请求,并且“返回”,但它不起作用。
这就是我的服务器块现在的样子:
server {
listen 90;
listen 9090 ssl;
server_name example.com;
ssl on;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
root /var/www/path;
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
......
}
答案 0 :(得分:0)
您可能会发现此论坛帖子很有用: https://www.digitalocean.com/community/questions/http-https-redirect-positive-ssl-on-nginx
基本上,您需要从HTTP实例创建重定向,其中所有请求都会自动重定向到HTTPS。
像这样:
server {
listen 90;
server_name example.com;
# Redirect all requests to https
return 301 https://$server_name$request_uri;
}
server {
listen 9090 ssl;
server_name example.com;
ssl on;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
root /var/www/path;
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
}
试试看,看看它是否适合你。 但基本上你是第一个例子,你只是创建一个重定向,所有真正的配置将在第二个。