以下是我的Nginx服务器配置(不工作)。我需要将https非www重定向到www。因此,当我访问网站https://example.com
时,它应该将我重定向到https://www.example.com
。
server {
listen 443 ssl
server_name example.com;
return 301 https://www.example.com$request_uri;
}
我正在使用在AWS中运行Ruby on Rails应用程序的AMI Linux。谢谢!
答案 0 :(得分:3)
请在您的nginx.conf文件中使用以下配置。它对我来说很好。
server {
listen 80;
server_name www.example.com example.com;
location / {
index index.html;
root /usr/share/nginx/html; #the location of your app folder
}
if ($http_x_forwarded_proto = 'http') {
return 301 https://www.example.com$request_uri;
}
}
答案 1 :(得分:0)
如果您只想重定向GET请求并为非GET请求抛出405(Method not allowed):
server {
listen 443 ssl;
server_name example.com;
if ($request_method = GET) {
return 301 https://www.example.com$request_uri;
}
return 405;
}
server {
listen 443 ssl;
server_name www.example.com;
# locations
}
如果您希望重定向所有请求(GET,POST,...),这是不可能的,我建议您尝试使用Akshath的方法。