得益于网上一篇文章,写的比较详细,按照操作步骤完成了配置,但是我这边用nginx做了转发
环境介绍
nginx在宿主机,wordpress 用docker容器运行
先说容器启动方面
启动映射/var/www/html 到宿主机 目录
映射了443端口到宿主机端口
容器先以正常启动,进入容器
执行如下几个动作
1.a2enmod ssl
a2enmod ssl
是一个用于 Apache HTTP 服务器的命令,用于启用 SSL 模块。SSL(Secure Sockets Layer)是一种加密协议,用于在客户端和服务器之间建立安全的通信连接。通过启用 SSL 模块,您可以在 Apache 服务器上启用安全的 HTTPS 协议,并为网站提供加密的通信渠道。
使用 a2enmod ssl
命令,Apache 会加载并启用相关的 SSL 模块。只有当 SSL 模块已启用后,您才能配置 Apache 以接受和处理通过 HTTPS 发出的请求。在启用 SSL 后,您可以配置证书、密钥等 SSL 相关设置,以确保通过 HTTPS 进行的通信是加密和安全的。
请注意,执行 a2enmod ssl
前,确保已经安装了相应的 SSL 模块和所需的依赖项。具体的安装方式取决于您使用的操作系统和软件包管理工具。
2.执行完成会提示 要求重启 apache2
/etc/init.d/apache2 reload
3.会得到 一个文件 default-ssl.conf 在 /etc/apache2/sites-available/
ln -s /etc/apache2/sites-available/default-ssl.conf \ 创建快捷方式
/etc/apache2/sites-enabled/default-ssl.conf
查看配置文件中 ssl 的 key 和 pem 路径 /etc/ssl/certs/….pem ,,,,/etc/ssl/private/…..key
事先已经申请到一个域名的ssl证书,得到 pem 和 key文件,为了偷懒 直接 命名为 配置文件的名字
4.采用docker cp 复制到容器里面
5.用cat 把 /etc/apache2/sites-available/000-default.conf 内容 copy到宿主机 本地创建文件,最好是映射的目录,这样不用copy 。。。
6.修改000-default.conf
在 <VirtualHost *:80> </VirtualHost> 标签中增加下面的配置 在 DocumentRoot /var/www/html 下一行
<Directory "/var/www/html">
RewriteEngine on
RewriteBase /
# FORCE HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</Directory>
7.重启容器之前,修改nginx配置
按照443 方式配置 conf文件,,key 和 pem 也要 配置完成 ,转发地址 https://127.0.0.1:端口(映射的容器443端口)
nginx -s reload
8.修改数据库
wp_options ———siteurl 内容改为 /
\——-home 内容改为 /
9.重启容器
完成
总结下 ,,nginx 能不能不配置 ssl?直接 用80 端口转发 到 https 或者 http 的对应的端口 。。。貌似都不行。。。外面和里面都必须配置 ssl 。。。。
修改上传文件限制
在wordpress的 html 目录,有隐藏文件 .htaccess,在里面增加
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
即时生效,不用重启任何