![](/img/trans.png)
[英]laravel returns json string on local machine but integer on elastic beanstalk instance
[英]Configuring SSL on Elastic Beanstalk Single Instance
我正在嘗試為我的 NodeJS Beanstalk 實例安裝 SSL 證書。 按照Amazon 的這些說明,我創建了 YAML 文件並插入了我的信息。
每次我嘗試部署時都會收到此錯誤:
應用程序版本 0.0.3 中的配置文件 .ebextensions/singlessl.config 包含無效的 YAML 或 JSON。 YAML 異常:在掃描下一個標記時發現字符 '\\t' 不能在 "" 中開始任何標記,第 10 行,第 1 列: ^ ,JSON 異常:位置 0 處出現意外字符 (R) .. 更新配置文件。
我已經用細齒梳檢查了這個東西,它在多個驗證器中進行了驗證,甚至在多個操作系統上編寫了它......但我似乎無法動搖這個假設的制表符。
有沒有人有這樣的 JSON 配置文件示例? 我的其他配置是 JSON 格式,效果很好。 如果沒有,誰能看到我在這里做錯了什么?
Resources:
sslSecurityGroupIngress:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {Ref : MyIDHere}
IpProtocol: tcp
ToPort: 443
FromPort: 443
CidrIp: 0.0.0.0/0
files:
/etc/nginx/conf.d/ssl.conf:
mode: "000755"
owner: root
group: root
content: |
# HTTPS server
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate /etc/pki/tls/certs/server.crt;
ssl_certificate_key /etc/pki/tls/certs/server.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://nodejs;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
/etc/pki/tls/certs/server.crt:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN CERTIFICATE-----
CERT DATA HERE
-----END CERTIFICATE-----
/etc/pki/tls/certs/server.key:
mode: "000400"
owner: root
group: root
content: |
-----BEGIN RSA PRIVATE KEY-----
KEY DATA HERE
-----END RSA PRIVATE KEY-----
在第 10 行有一個制表符。 刪除此選項卡應該可以解決您收到的錯誤。
當您從 Amazon 的說明中復制代碼時,它復制到一個選項卡上,這將導致此問題。 我遇到了同樣的問題,如果您查看 YAML 文件並確保沒有奇怪的空白字符,它應該可以正常工作。
對我來說,在使用 AWS Beanstalk Single Instance SSL for HTTPS(用於 Docker env)完成相同的例程之后,以及在我的編輯器中找出 YAML 和制表符 vs 空格(或鍵頁腳后沒有空格,或...)之后的時間之后( Atom/Packages/Whitespace),甚至將 YAML 轉換為 JSON(Atom/Packages/YAML_JSON Converter),我已經意識到初始密鑰已損壞,必須生成一個新集合:
openssl genrsa 2048 > privatekey.pem
openssl req -new -key privatekey.pem -out csr.pem
openssl x509 -req -days 365 -in csr.pem -signkey privatekey.pem -out public.crt
# last line is for signing the rsa yourself for development purposes.
然后一切正常! 所以我不能強調確保這些鍵工作的重要性。 似乎找出它的唯一方法是得到一些這樣的錯誤:
PEM_read_bio_PrivateKey:ASN1 錯誤:0D0680A8:asn1 編碼例程:ASN1_CHECK_TLEN 錯誤:0D07803A:asn1 編碼例程:ASN1_ITEM_EX_D2I:嵌套 asn1 錯誤
祝你好運!
PS:哦,如果您遇到 __MACOSX/ 錯誤,請執行以下操作:
zip -d Archive.zip __MACOSX/\*
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.