首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >自定义端口(Nginx或apache)上的Certbot (LetsEncrypt)

自定义端口(Nginx或apache)上的Certbot (LetsEncrypt)
EN

Server Fault用户
提问于 2020-11-06 10:12:08
回答 2查看 12.4K关注 0票数 4

我发现了许多类似的问题,人们在询问如何在不同的端口(80/443除外)上安装SSL,即1234端口。然而,所有的答案都类似于use redirectionproxying requestsdns-validation (instead of http)使用替代方法。然而,在任何地方你都找不到一个StackExchange方式的答案,我的意思是,对于新手来说,一步一步的,如何做到这一点。

然而,请注意,重定向并不是解决方案,因为在80/443上,一个人可能有一个正常的网站,但在1234端口上,一个完全不同的应用程序。所以,只要从1234“重定向”到80,就会把网站搞砸,对吧?

EN

回答 2

Server Fault用户

发布于 2020-11-06 13:26:00

只为HTTP-01挑战在端口80上使用Nginx,然后在另一个web应用程序甚至其他服务器软件上使用它创建的证书,这是非常好的。它不需要执行任何反向代理来为http://example.com/.well-known/acme-challenge/服务。

代码语言:javascript
运行
复制
server {
   listen 80;
   server_name example.com;

   location /.well-known/acme-challenge/ {
       alias /var/www/letsencrypt/.well-known/acme-challenge/;
   }
   location / {
       return 404;
   }
}

此外,您不一定需要一个监听端口80的web服务器,因为Certbot可以使用它自己的内置web服务器来处理这些挑战:

代码语言:javascript
运行
复制
sudo certbot certonly --standalone --preferred-challenges http -d example.com
票数 5
EN

Server Fault用户

发布于 2021-03-24 19:23:54

为了扩展@Esa的好答案,下面是我为Apache所做的具体步骤:

  1. 如@Esa所说,生成证书。
  2. 转到/etc/apache2/ports.conf并将80443更改为您想要的任何端口
  3. 同样在/sites-available/example.com中,将VirtualHost更改为所需的端口。请确保存在SSL文件路径的命令(由certbot安装产生)
  4. systemctl restart apache2

附注:需要WordPress的人要确保重定向不会重定向到旧端口。在WP Dashboard>Settings中更改它之前,可以在“WP-config”中设置它:

代码语言:javascript
运行
复制
define('WP_SITEURL','https://example.com:1234/');
define('WP_HOME','https://example.com:1234/');
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1041509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档