目前使用Rails 5.2和Ruby 2.3与服务器:Nginx与乘客
请告知将网站从HTTP版本1更新为HTTP 2所需的更改。
虚拟主机:
server {
listen 80;
listen [::]:80 ipv6only=on;
server_name ec2-34-xxx-xx-xx.us-west-2.compute.amazonaws.com;
# Tell Nginx and Passenger where your app's 'public' directory is
root /home/ec2-xxxx/apps/xxxxxxxxxx/public;
# Turn on Passenger
rails_env production;
passenger_enabled on;
passenger_ruby /home/ec2-xxx/.rvm/gems/[email protected]/wrappers/ruby;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ /.well-known {
allow all;
}
}
提前致谢
您需要将Web服务器配置为使用HTTP / 2,例如,tomcat / apache,并且客户端应用程序需要使用使用HTTP / 2的正确httpclient / adapter。
您可以在Nginx配置中启用HTTP / 2,假设您使用的是相对较新版本的Nginx。
然而所有browsers only support HTTP/2 over HTTPS。由于您只是在端口80上侦听,我认为您只是为HTTP设置,因此您需要做的第一件事就是在您的网站上设置HTTPS。
在那之后,你只需要下面的配置(再次假设在最新版本的Nginx上),使用端口443上的协议http2
进行监听:
listen 443 ssl http2;
listen [::]:443 ssl http2 ipv6only=on;