我有一台运行 2 个不同 Web 服务器(Apache 和 Nginx)的服务器。Apache 服务器负责处理定向到 Wordpress 站点的所有流量,而 Nginx 服务器则为我的 Python API 和 React Web App 提供服务。
由于与 Apache 的端口冲突,我必须将 API 设置为在端口 88 上运行,将 React 应用程序设置为在端口 90 上运行。我用这种方式进行了测试,结果成功了。所有请求都会转发到 443,所以我认为不安全端口是什么并不重要。
当我最终运行命令来添加证书时:
sudo certbot --nginx -d a.domain.com
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误。经过进一步检查,我发现它试图在端口 80 而不是 88 上打开域。我做了一些研究并找到了规则--http-01-port并将其设置为 88,但它再次给了我同样的错误:
sudo certbot --nginx --http-01-port 88 -d a.domain.com
Run Code Online (Sandbox Code Playgroud)
经过多次尝试后,我担心 certbot 可能很快就会因为怀疑垃圾邮件而阻止我几个小时或几天,而我已经没有可能的解决方案了。
以前有人处理过这个吗?你是怎么解决这个问题的?
我试图让咱们加密内正式泊坞WordPress的容器。
$ cat docker-compose.yml
wordpress:
hostname: some.fqdn.com
image: wordpress
links:
- db:mysql
ports:
- 80:80
- 443:443
db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: example
$ docker-compose -f docker-compose.yml up -d
$ docker exec -ti root_wordpress_1 bash
Run Code Online (Sandbox Code Playgroud)
$ apt-get update && apt-get install -y git-core
[...]
$ cd /usr/local
$ git clone https://github.com/letsencrypt/letsencrypt
[...]
$ cd letsencrypt/
$ ./letsencrypt-auto --apache
Checking for new version...
Requesting root privileges to run letsencrypt...
/root/.local/share/letsencrypt/bin/letsencrypt --apache
An unexpected error occurred:
PythonDialogBug
Please …Run Code Online (Sandbox Code Playgroud) 我有一个 OpenVPN AS 正在运行,我正在尝试从 letencrypt 设置 SSL 证书(运行 ubuntu)。
我已经设法从letsencrypt(使用letsencrypt独立)获取我的证书,我希望在OpenVPN ssl配置中创建一个指向证书的符号链接。但是,当我查看/usr/local/openvpn_as/etc/web-ssl它时,它与我的/live/domain/cert.pem等...
有谁知道我如何将我的 openvpn 作为实例提供 Letencrypt 证书?
编辑:ls -l 目录
openvpnas@openvpnas2:/usr/local/openvpn_as/etc/web-ssl$ ls -l
total 16
-rw-r--r-- 1 root root 1111 Mar 10 13:30 ca.crt
-rw------- 1 root root 1708 Mar 10 13:30 ca.key
-rw-r--r-- 1 root root 1078 Mar 10 13:30 server.crt
-rw------- 1 root root 1704 Mar 10 13:30 server.key
root@openvpnas2:/etc/letsencrypt/live/my.domain# ls -l
total 0
lrwxrwxrwx 1 root root 37 Mar 10 19:03 cert.pem -> ../../archive …Run Code Online (Sandbox Code Playgroud) 我们正在为我们的公司创建一个内容管理系统。重要的是,此 CMS 支持动态数量的服务器上的动态域名。经过数小时的研究,我们认为 Amazon 的 Elastic Beanstalk 是最佳选择。我们还需要的一件事是能够为与我们的系统关联的域动态启用 SSL。
因此,在我们的系统中,我们可以创建一个与域相关联的“站点”。创建站点时,我们还应该能够选择是否通过 SSL/TLS 托管域。我们计划对系统进行白标,并预计将有大量域与其关联。
我一直在探索能够在服务器(或负载平衡器)上设置 SSL 并能够动态更改哪些域受到保护的不同可能性。这是我所在的位置:
最后一个想法有什么问题吗?我正在尝试做的事情有更好的解决方案吗?我错过了什么吗?在意?或者也许是我问题的超级简单解决方案?
请注意,我使用的是 docker,所以我可以在服务器上设置任何我需要的东西。
ssl multi-tenancy autoscaling elastic-beanstalk lets-encrypt
我为我的 Apache 2.4 服务器创建了一个证书。为了验证我的服务器,让加密创建了文件夹.well-known并访问了它。
我是否需要保持此文件夹可访问(用于证书续订)还是可以删除/阻止该文件夹?
如何将 LetsEncrypt 生成的证书文件与 Neo4j 实例一起使用?LetsEncrypt 生成的文件是:
到目前为止,我已经尝试通过 OpenSSL进行转换,但没有成功,使用从 PEM 到 DER 的转换。Neo4j 抱怨在启动时找不到证书。问题是如何将 LetsEncrypt 证书转换为 Neo4j 可以使用的东西。
设置细节:
/var/lib/neo4j/certificates/以名称neo4j.{cert,key}、权限600、归neo4j:nogroup. 所有这些似乎都是根据文档。dbms.directories.certificates=/var/lib/neo4j/certificatesdbms.connector.https.address=0.0.0.0:7473重新启动 Neo4j 时,我收到以下错误消息:
WARN Illegal character 0x16 in state=START for buffer HeapByteBuffer@5a260174[p=1,l=193,c=8192,r=192]={\x16<<< SEVERAL_LINES_OF_HEX_JIBBERISH_HERE }
WARN badMessage: 400 Illegal character 0x16 for HttpChannelOverHttp@5d682358{r=0,c=false,a=IDLE,uri=-}
Run Code Online (Sandbox Code Playgroud) 我有一个私有 Apache 服务器,只能从我的 LAN 端口 443 访问,并带有 StartSSL 证书。
由于 Firefox 51 发布,我无法再连接到它,因为StartSSL 根证书已从信任库中删除。
我考虑过迁移到 Let's Encrypt,但这似乎需要面向公众的 HTTP 服务器。在我的情况下可以使用 Let's Encrypt 吗?
如果可能的话,我宁愿避免为 SSL 证书付费。
我想知道在 ssllabs.com 的每个类别上获得 100% 需要哪些步骤。我知道这可能会导致旧系统出现问题,但我不在乎。
我的letsencrypt.org 证书使用 4096 位。这是我使用以下配置可以获得的最好成绩:
SSLCipherSuite AES256+EECDH:AES256+EDH:!aNULL
SSLHonorCipherOrder on
SSLProtocol all -TLSv1.1 -TLSv1 -SSLv3 -SSLv2
Run Code Online (Sandbox Code Playgroud)
我在某处读到可以使用预先生成的 dhparam 文件改进密钥交换。
所以我使用openssl dhparam -out dhparam.pem 4096(这花了大约一个小时)生成了这个文件,并将它添加到我的 apache 配置中使用
SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"
Run Code Online (Sandbox Code Playgroud)
但这会导致与以前相同的分数。那么我在这里错过了什么?
当我使用CertBot将Let's Encrypt证书添加到我的网站后,当我尝试访问我的网站域时,
我得到了。ERR_TOO_MANY_REDIRECTS
一些信息:
-mywebsite 使用 django、nginx 和 Gunicorn 构建。
server {
server_name www.example.com example.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/myproject;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.example.com) …Run Code Online (Sandbox Code Playgroud) 我想通过 为我的网站创建通配符 SSL LetsEncrypt。我按照说明运行后Certbot,它给了我一个 DNS 挑战并说:
Please deploy a DNS TXT record under the name
_acme-challenge.db.example.com with the following value:
jn324jr348r342bhr234hrou234nbr4324fj34r
Run Code Online (Sandbox Code Playgroud)
db.example.com 也在里面/etc/bind/。
我所做的是打开db.example.com并在底线添加以下内容:
_acme-challenge.db.example.com 3600 IN TXT "jn324jr348r342bhr234hrou234nbr4324fj34r"
Run Code Online (Sandbox Code Playgroud)
但是当我像这样检查它时:
nslookup -type=TXT _acme-challenge.example.com
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:
- The following errors were reported by the server:
Domain: db.example.com
Type: dns
Detail: DNS problem: NXDOMAIN looking up TXT for
_acme-challenge.db.example.com - check that a DNS record
exists for this domain
ubuntu@me-1:/etc/bind$ nslookup -type=TXT _acme-challenge.example.com
Server: 127.0.0.53
Address: …Run Code Online (Sandbox Code Playgroud) domain-name-system ssl ssl-certificate txt-record lets-encrypt
lets-encrypt ×10
ssl ×5
certbot ×2
apache-2.2 ×1
apache-2.4 ×1
apache2 ×1
autoscaling ×1
docker ×1
https ×1
neo4j ×1
nginx ×1
openssl ×1
openvpn ×1
port ×1
redirect ×1
txt-record ×1
wordpress ×1