nginxproxymanager介绍 nginxproxymanager是一个NGINX反向代理管理系统,相当于在Web界面上进行可视化配置Nginx。还可以获得受信任的SSL证书,并通过单独的配置、自定义和入侵保护来管理多个代理。界面截图请阅读到底部查看! nginxproxymanager 这个项目是为了满足个人需求,为用户提供一种简单的方法来完成反向使用SSL终止代理主机,它必须非常简单,以至于猴子可以做到这一点。这个目标没有改变。虽然可能有高级选项,但它们是可选的,项目应该尽可能简单这样这里的进入门槛就低了。特征基于Tabler的美观安全的管理界面轻松创建转发域、重定向、流和404主机,而无需了解Nginx使用LetsEncrypt或提供您自己的自定义SSL证书的免费SSL主机的访问列表和基本HTTP身份验证高级Nginx配置可供超级用户使用用户管理、权限和审核日志快速安装安装Docker和DockerComposeDocker安装DockerCompose安装创建一个类似于下面的dockercompose。yml文件:version:3services:app:image:jc21nginxproxymanager:latestrestart:unlessstoppedports:80:8081:81443:443volumes:。data:data。letsencrypt:etcletsencrypt通过运行来启动dockercomposeupdIfusingdockercomposeplugindockercomposeupd登录到管理界面 当您的docker容器运行时,在管理界面的端口上连接到它。有时,由于密钥的原因,这可能需要一点时间。 http:127。0。0。1:81 默认管理员用户:Email:adminexample。comPassword:changeme 使用此默认用户登录后,系统会立即要求您修改您的详细信息并更改密码。完整设置说明运行应用 创建一个文件:dockercompose。ymlversion:3services:app:image:jc21nginxproxymanager:latestrestart:unlessstoppedports:Theseportsareinformathostport:containerport80:80PublicHTTPPort443:443PublicHTTPSPort81:81AdminWebPortAddanyotherStreamportyouwanttoexpose21:21FTPUncommentthenextlineifyouuncommentanythinginthesectionenvironment:UncommentthisifyouwanttochangethelocationoftheSQLiteDBfilewithinthecontainerDBSQLITEFILE:datadatabase。sqliteUncommentthisifIPv6isnotenabledonyourhostDISABLEIPV6:truevolumes:。data:data。letsencrypt:etcletsencrypt 然后:dockercomposeupd使用MySQLMariaDB数据库 如果您选择MySQL配置,则必须自己提供数据库服务器。您也可以使用MariaDB。以下是支持的最低版本:MySQLv5。7。8MariaDBv10。2。7 也可以轻松地为您的数据库使用另一个docker容器并将其链接为docker堆栈的一部分,因此这就是以下示例将使用。 以下是使用MariaDB容器时的外观示例:dockercompose。ymlversion:3services:app:image:jc21nginxproxymanager:latestrestart:unlessstoppedports:Theseportsareinformathostport:containerport80:80PublicHTTPPort443:443PublicHTTPSPort81:81AdminWebPortAddanyotherStreamportyouwanttoexpose21:21FTPenvironment:DBMYSQLHOST:dbDBMYSQLPORT:3306DBMYSQLUSER:npmDBMYSQLPASSWORD:npmDBMYSQLNAME:npmUncommentthisifIPv6isnotenabledonyourhostDISABLEIPV6:truevolumes:。data:data。letsencrypt:etcletsencryptdependson:dbdb:image:jc21mariadbaria:latestrestart:unlessstoppedenvironment:MYSQLROOTPASSWORD:npmMYSQLDATABASE:npmMYSQLUSER:npmMYSQLPASSWORD:npmvolumes:。datamysql:varlibmysql 注意 请注意,环境变量将优先于变量。因此,如果您保留MySQL变量,您将无法使用SQLite。DBMYSQLDBSQLITE自定义Nginx配置 如果你是一个更高级的用户,你可能会渴望额外的Nginx可定制性。 NPM能够在不同位置包含不同的自定义配置片段。 您可以在以下位置添加自定义配置代码段文件:datanginxcustomdatanginxcustomroot。conf:包含在nginx。conf的最后datanginxcustomhttptop。conf:包含在主http块的顶部datanginxcustomhttp。conf:包含在主http块的末尾datanginxcustomevents。conf:包含在事件块的末尾datanginxcustomstream。conf:包含在主流块的末尾datanginxcustomserverproxy。conf:包含在每个代理服务器块的末尾datanginxcustomserverredirect。conf:包含在每个重定向服务器块的末尾datanginxcustomserverstream。conf:包含在每个流服务器块的末尾datanginxcustomserverstreamtcp。conf:包含在每个TCP流服务器块的末尾datanginxcustomserverstreamudp。conf:包含在每个UDP流服务器块的末尾 每个文件都是可选的。XFRAMEOPTIONS配置 您可以配置XFRAMEOPTIONS页眉值,将其指定为Docker环境变量。如果未指定,则缺省值为。deny。。。environment:XFRAMEOPTIONS:sameorigin。。。升级dockercomposepulldockercomposeupd 此项目将自动更新任何数据库或其他要求,因此您不必遵循任何疯狂的指示。上面的这些步骤将提取最新更新并重新创建dockerweb管理界面 1、用户登录界面 登录 2、自定义配置 自定义配置 3、添加配置 列表 添加配置 4、看板 看板 5、定义404主机 404主机 6、权限配置 permissions