我正在使用nodejs和expressjs.我想知道request.headers.protocol在clientRequest对象中是否有类似的东西.我想为web链接构建baseUrl.因此,如果请求是通过https完成的,我想在所有链接中保留https.
var baseUrl = request.headers.protocol + request.headers.host;
Run Code Online (Sandbox Code Playgroud) 我知道之前已经问过这个问题,但似乎没有什么对我有用.我尝试过多种不同的东西,例如这些问题中描述的答案:
如何让Elastic Beanstalk nginx支持的代理服务器从HTTP自动重定向到HTTPS? 将EC2 elb从http重定向到https
他们似乎都没有工作.我是一个aws noob,所以我不完全确定如何编辑配置文件 - 或者我是否做错了什么.
我的设置如下:
我当前的.ebextensions文件夹中的nginx.config文件(从本文中获取):
files:
"/tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf" :
mode: "000755"
owner: root
group: root
content: |
upstream nodejs {
server 127.0.0.1:8081;
keepalive 256;
}
server {
listen 8080;
set $fixedWWW '';
set $needRedir 0;
# nginx does not allow nested if statements
# check and decide on adding www prefix
if ($host !~* ^www(.*)) {
set $fixedWWW 'www.';
set $needRedir 1;
}
# what …Run Code Online (Sandbox Code Playgroud) https nginx amazon-web-services amazon-elb amazon-elastic-beanstalk
我主持AWS,这意味着我无法使用环境变量来控制我的生产和暂存部署.因此,我被迫使用单独的分支进行部署,并且想知道是否有最佳实践方法来维护它们?
如果我将更改合并到我的生产分支中,则包含我的生产设置的提交将在分支历史记录中丢失,从而使调整这些设置变得更加困难.
但是我已经读过在这种情况下你不应该使用rebase,因为它会使回滚更改变得更加困难.
我知道关于这个确切的主题有很多 SO 问题。但是,似乎没有一个适用于最新版本的 Elastic Beanstalk / Docker 组合。
我在Docker 中运行Django/Python Web 应用程序,然后将其部署到 Elastic Beanstalk。我希望 http 和 https 处于活动状态,因此我在AWS EB配置控制台中启用了端口80和443。这很好用。我的网站可以通过 http 和 https 访问。然而,这真的不是我想要的。我希望端口80 ( http ) 自动转发到端口443 ( https )。
我已经按照 SO 和其他论坛上的每一条建议来调试这个,但我认为那里的信息太旧了。(即,这不再有效)。
我找到了 EB 在哪里设置它的服务器(在一个名为 : 的文件中/etc/nginx/sites-enabled/elasticbeanstalk-nginx-docker-proxy.conf),它的内容是:
map $http_upgrade $connection_upgrade {
default "upgrade";
"" "";
}
server {
listen 80;
location / {
proxy_pass http://docker;
proxy_http_version 1.1;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header …Run Code Online (Sandbox Code Playgroud) 我已经配置了可扩展的EB(Elasticbeanstalk)rails(puma)实例.我已通过ACM(亚马逊证书管理器)申请https并将其应用于我的负载均衡器.现在为我的网站启用了HTTPS.但是如何强制重定向到https?我已经尝试了一些在线解决方案,建议通过.ebextensions手动进行nginx配置设置,我不知道从哪里获得ACM的证书?(我假设现在ACM无法做到这一点? ).如何强制HTTPS?
ruby-on-rails nginx ssl-certificate amazon-web-services amazon-elastic-beanstalk