amazon-web-services - AWS Elastic Beanstalk httpd/conf.d/ssl.conf 无法识别
问题描述
我在项目的根目录中创建了一个 .ebextensions 目录以激活 ssl,但我没有看到在 ssl.conf 文件中创建的虚拟主机 443。
部署后密钥正常(创建良好),但从未创建 ssl.conf。所以需要手动连接实例,修改conf.d文件添加虚拟主机。
战争结构:
ROOT.war
|
WEB-INF
META-INF
.ebextensions
|
https-instance-single.config
https-instance.config
|
httpd
|
conf.d
|
ssl.conf
https-instance.config:
/etc/pki/tls/certs/server.crt:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
/etc/pki/tls/certs/server.key:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN RSA PRIVATE KEY-----
XXXXXXXXXX
-----END RSA PRIVATE KEY-----
/etc/pki/tls/certs/gd_bundle.crt:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
XXXXXXXXXXXXXXXXXXXXXXXXXXX
-----END CERTIFICATE-----
https-instance-single.config:
Resources:
sslSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 443
FromPort: 443
CidrIp: 0.0.0.0/0
ssl.conf:
Listen 443
<VirtualHost *:443>
ServerName YOUR_SERVER_NAME
SSLEngine on
SSLCertificateFile "/etc/pki/tls/certs/server.crt"
SSLCertificateKeyFile "/etc/pki/tls/certs/server.key"
SSLCertificateChainFile "/etc/pki/tls/certs/gd_bundle.crt"
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
<Proxy *>
Require all granted
</Proxy>
ProxyPass / http://localhost:8080/ retry=0
ProxyPassReverse / http://localhost:8080/
ProxyPreserveHost on
ErrorLog /var/log/httpd/elasticbeanstalk-ssl-error_log
</VirtualHost>
解决方案
我解决了这个问题。
我不知道为什么并且没有记录,但似乎代理文件必须在 .platform 文件夹中。
日志显示:
skip legacy configuration under .ebextensions, put under .platform instead
所以我试图创建该文件夹并工作。但 AWS 从未使用该步骤制作文档。所以 AWS 请更新您的文档!:)
推荐阅读
- akka.net - 在不阻止父演员的情况下管道询问
- docker - 每次docker-compose时如何让docker拉最新版本
- android - 如何使android材料设计与android 4兼容
- angular - 角度形式的异步与同步
- google-sheets - 如何在 Google 表格中使用 ArrayFormula 计算总数和唯一性(基于 2 个单独的列)?
- reactjs - 如何更新 React setState() 方法中的列表?
- angular - 如何将 Ion Slide 设置为仅由 FIRST TIME 用户查看一次?
- swift - 如何快速获取 WKWebView 的 Post 请求正文
- react-native - 在 react-native 中使用 material-ui
- android - Build bundle 与 Generate Signed bundle apk 之间的主要区别是什么?