前言:
最近也没什么好玩的,群里也有人询问一些traefik的使用细节,所以在这里对大家问的一些比较多的问题,进行解答!
如果你是第一次看到这个文章,请线阅读下面的两篇文章进行配置以及安装,在traefik可以正常使用,可以正常访问的情况下在参考下面的教程内容进行配置!
![]() |
![]() |
常见问题、以及注意事项
一、端口号:
很多小伙伴,在配置的时候,总会出现端口号不知到写多少,或者是写错了,导致无法访问,反向代理的问题。
如何判断端口怎么写?
如果与traefik是使用lable方式连接的,这里你需要找到程序的监听端口,其实在unraid的docker页面上面就有的,只是大家没注意!
这里 如果你是使用lable的方式与traefik 进行配置的,你要写内部端口,也就是图片中内部地址冒号后面的,大部分情况下内部和外部的端口都是一样的,但是有的情况特殊端口号可能内外不同,但是lable的方式与traefik进行配置的,走的是docker内部的地址也就是图片中的172开头的地址,所以这里不能写外部的地址,要不然就会出现无法连接的情况!
另一种方式!通过写动态文件反响代理的
这一种多半是应用一些不是和traefik一个网桥内,或者是本服务器以外同局域网,或者外网的反向代理!
这些都是需要通过写traefik动态配置文件来做到的,这个比较简单,你在配置的时候用你的本地pc 怎么访问,就怎么写内网的地址和端口号,前提是你的pc和你的traefik是同一个局域网,广域网的不受此限制(直接写广域网地址)!
这里在说一个大家都知道的默认端口,给新人看的!
http | 80 |
https | 443 |
以上两个端口是大部分程序的web界面监听的端口!
二、启动失败,提示acme.json问题
这类问题,unraid上多犯,其他linux环境上没有这个问题。
只要在unraid上执行权限修复,都会导致came.json的权限变更,官方的默认要求acme.json 权限是600 这里在用命令改一下就行了
chmod 600 /文件路径/acme.json #注意文件路径要自行修改
三、证书自动签发TSL(旧称SSL)
也就是我们访问的时候地址窗口的小锁的标志!
在我的教程中,默认的配置,提供的是aliyun的方式,当然也有很多其他平台的方式,只是我没写,下面我简单写一下 给你们个参考!
在静态配置文件内找到,下面的内容!
然后进行修改,这里我给大家一些运营商的名称(官方文档内提供)
Provider Name | Provider Code | Environment Variables | |
---|---|---|---|
ACME DNS | acme-dns |
ACME_DNS_API_BASE , ACME_DNS_STORAGE_PATH |
Additional configuration |
Alibaba Cloud | alidns |
ALICLOUD_ACCESS_KEY , ALICLOUD_SECRET_KEY , ALICLOUD_REGION_ID |
Additional configuration |
ArvanCloud | arvancloud |
ARVANCLOUD_API_KEY |
Additional configuration |
Auroradns | auroradns |
AURORA_USER_ID , AURORA_KEY , AURORA_ENDPOINT |
Additional configuration |
Autodns | autodns |
AUTODNS_API_USER , AUTODNS_API_PASSWORD |
Additional configuration |
Azure | azure |
AZURE_CLIENT_ID , AZURE_CLIENT_SECRET , AZURE_SUBSCRIPTION_ID , AZURE_TENANT_ID , AZURE_RESOURCE_GROUP , [AZURE_METADATA_ENDPOINT] |
Additional configuration |
Bindman | bindman |
BINDMAN_MANAGER_ADDRESS |
Additional configuration |
Blue Cat | bluecat |
BLUECAT_SERVER_URL , BLUECAT_USER_NAME , BLUECAT_PASSWORD , BLUECAT_CONFIG_NAME , BLUECAT_DNS_VIEW |
Additional configuration |
Checkdomain | checkdomain |
CHECKDOMAIN_TOKEN , |
Additional configuration |
CloudDNS | clouddns |
CLOUDDNS_CLIENT_ID , CLOUDDNS_EMAIL , CLOUDDNS_PASSWORD |
Additional configuration |
ClouDNS | cloudns |
CLOUDNS_AUTH_ID , CLOUDNS_AUTH_PASSWORD |
Additional configuration |
Cloudflare | cloudflare |
CF_API_EMAIL , CF_API_KEY 5 or CF_DNS_API_TOKEN , [CF_ZONE_API_TOKEN] |
Additional configuration |
CloudXNS | cloudxns |
CLOUDXNS_API_KEY , CLOUDXNS_SECRET_KEY |
Additional configuration |
ConoHa | conoha |
CONOHA_TENANT_ID , CONOHA_API_USERNAME , CONOHA_API_PASSWORD |
Additional configuration |
Constellix | constellix |
CONSTELLIX_API_KEY , CONSTELLIX_SECRET_KEY |
Additional configuration |
deSEC | desec |
DESEC_TOKEN |
Additional configuration |
DigitalOcean | digitalocean |
DO_AUTH_TOKEN |
Additional configuration |
DNSimple | dnsimple |
DNSIMPLE_OAUTH_TOKEN , DNSIMPLE_BASE_URL |
Additional configuration |
DNS Made Easy | dnsmadeeasy |
DNSMADEEASY_API_KEY , DNSMADEEASY_API_SECRET , DNSMADEEASY_SANDBOX |
Additional configuration |
DNSPod | dnspod |
DNSPOD_API_KEY |
Additional configuration |
Domain Offensive (do.de) | dode |
DODE_TOKEN |
Additional configuration |
DreamHost | dreamhost |
DREAMHOST_API_KEY |
Additional configuration |
Duck DNS | duckdns |
DUCKDNS_TOKEN |
Additional configuration |
Dyn | dyn |
DYN_CUSTOMER_NAME , DYN_USER_NAME , DYN_PASSWORD |
Additional configuration |
Dynu | dynu |
DYNU_API_KEY |
Additional configuration |
EasyDNS | easydns |
EASYDNS_TOKEN , EASYDNS_KEY |
Additional configuration |
EdgeDNS | edgedns |
AKAMAI_CLIENT_TOKEN , AKAMAI_CLIENT_SECRET , AKAMAI_ACCESS_TOKEN |
Additional configuration |
External Program | exec |
EXEC_PATH |
Additional configuration |
Exoscale | exoscale |
EXOSCALE_API_KEY , EXOSCALE_API_SECRET , EXOSCALE_ENDPOINT |
Additional configuration |
Fast DNS | fastdns |
AKAMAI_CLIENT_TOKEN , AKAMAI_CLIENT_SECRET , AKAMAI_ACCESS_TOKEN |
Additional configuration |
Gandi | gandi |
GANDI_API_KEY |
Additional configuration |
Gandi v5 | gandiv5 |
GANDIV5_API_KEY |
Additional configuration |
Glesys | glesys |
GLESYS_API_USER , GLESYS_API_KEY , GLESYS_DOMAIN |
Additional configuration |
GoDaddy | godaddy |
GODADDY_API_KEY , GODADDY_API_SECRET |
Additional configuration |
Google Cloud DNS | gcloud |
GCE_PROJECT , Application Default Credentials 2 3, [GCE_SERVICE_ACCOUNT_FILE ] |
Additional configuration |
Hetzner | hetzner |
HETZNER_API_KEY |
Additional configuration |
hosting.de | hostingde |
HOSTINGDE_API_KEY , HOSTINGDE_ZONE_NAME |
Additional configuration |
HTTP request | httpreq |
HTTPREQ_ENDPOINT , HTTPREQ_MODE , HTTPREQ_USERNAME , HTTPREQ_PASSWORD 1 |
Additional configuration |
HyperOne | hyperone |
HYPERONE_PASSPORT_LOCATION , HYPERONE_LOCATION_ID |
Additional configuration |
IIJ | iij |
IIJ_API_ACCESS_KEY , IIJ_API_SECRET_KEY , IIJ_DO_SERVICE_CODE |
Additional configuration |
Infomaniak | infomaniak |
INFOMANIAK_ACCESS_TOKEN |
Additional configuration |
INWX | inwx |
INWX_USERNAME , INWX_PASSWORD |
Additional configuration |
ionos | ionos |
IONOS_API_KEY |
Additional configuration |
Joker.com | joker |
JOKER_API_MODE with JOKER_API_KEY or JOKER_USERNAME , JOKER_PASSWORD |
Additional configuration |
Lightsail | lightsail |
AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY , DNS_ZONE |
Additional configuration |
Linode v4 | linode |
LINODE_TOKEN |
Additional configuration |
Liquid Web | liquidweb |
LIQUID_WEB_PASSWORD , LIQUID_WEB_USERNAME , LIQUID_WEB_ZONE |
Additional configuration |
Loopia | loopia |
LOOPIA_API_PASSWORD , LOOPIA_API_USER |
Additional configuration |
LuaDNS | luadns |
LUADNS_API_USERNAME , LUADNS_API_TOKEN |
Additional configuration |
manual | manual |
none, but you need to run Traefik interactively 4, turn on debug log to see instructions and press Enter. | |
MyDNS.jp | mydnsjp |
MYDNSJP_MASTER_ID , MYDNSJP_PASSWORD |
Additional configuration |
Mythic Beasts | mythicbeasts |
MYTHICBEASTS_USER_NAME , MYTHICBEASTS_PASSWORD |
Additional configuration |
Namecheap | namecheap |
NAMECHEAP_API_USER , NAMECHEAP_API_KEY |
Additional configuration |
name.com | namedotcom |
NAMECOM_USERNAME , NAMECOM_API_TOKEN , NAMECOM_SERVER |
Additional configuration |
Namesilo | namesilo |
NAMESILO_API_KEY |
Additional configuration |
Netcup | netcup |
NETCUP_CUSTOMER_NUMBER , NETCUP_API_KEY , NETCUP_API_PASSWORD |
Additional configuration |
Netlify | netlify |
NETLIFY_TOKEN |
Additional configuration |
NIFCloud | nifcloud |
NIFCLOUD_ACCESS_KEY_ID , NIFCLOUD_SECRET_ACCESS_KEY |
Additional configuration |
NS1 | ns1 |
NS1_API_KEY |
Additional configuration |
Open Telekom Cloud | otc |
OTC_DOMAIN_NAME , OTC_USER_NAME , OTC_PASSWORD , OTC_PROJECT_NAME , OTC_IDENTITY_ENDPOINT |
Additional configuration |
OVH | ovh |
OVH_ENDPOINT , OVH_APPLICATION_KEY , OVH_APPLICATION_SECRET , OVH_CONSUMER_KEY |
Additional configuration |
Openstack Designate | designate |
OS_AUTH_URL , OS_USERNAME , OS_PASSWORD , OS_TENANT_NAME , OS_REGION_NAME |
Additional configuration |
Oracle Cloud | oraclecloud |
OCI_COMPARTMENT_OCID , OCI_PRIVKEY_FILE , OCI_PRIVKEY_PASS , OCI_PUBKEY_FINGERPRINT , OCI_REGION , OCI_TENANCY_OCID , OCI_USER_OCID |
Additional configuration |
PowerDNS | pdns |
PDNS_API_KEY , PDNS_API_URL |
Additional configuration |
Rackspace | rackspace |
RACKSPACE_USER , RACKSPACE_API_KEY |
Additional configuration |
reg.ru | regru |
REGRU_USERNAME , REGRU_PASSWORD |
Additional configuration |
RFC2136 | rfc2136 |
RFC2136_TSIG_KEY , RFC2136_TSIG_SECRET , RFC2136_TSIG_ALGORITHM , RFC2136_NAMESERVER |
Additional configuration |
Route 53 | route53 |
AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY , [AWS_REGION] , [AWS_HOSTED_ZONE_ID] or a configured user/instance IAM profile. |
Additional configuration |
RimuHosting | rimuhosting |
RIMUHOSTING_API_KEY |
Additional configuration |
Sakura Cloud | sakuracloud |
SAKURACLOUD_ACCESS_TOKEN , SAKURACLOUD_ACCESS_TOKEN_SECRET |
Additional configuration |
Scaleway | scaleway |
SCALEWAY_API_TOKEN |
Additional configuration |
Selectel | selectel |
SELECTEL_API_TOKEN |
Additional configuration |
Servercow | servercow |
SERVERCOW_USERNAME , SERVERCOW_PASSWORD |
Additional configuration |
Stackpath | stackpath |
STACKPATH_CLIENT_ID , STACKPATH_CLIENT_SECRET , STACKPATH_STACK_ID |
Additional configuration |
TransIP | transip |
TRANSIP_ACCOUNT_NAME , TRANSIP_PRIVATE_KEY_PATH |
Additional configuration |
VegaDNS | vegadns |
SECRET_VEGADNS_KEY , SECRET_VEGADNS_SECRET , VEGADNS_URL |
Additional configuration |
Versio | versio |
VERSIO_USERNAME , VERSIO_PASSWORD |
Additional configuration |
Vscale | vscale |
VSCALE_API_TOKEN |
Additional configuration |
VULTR | vultr |
VULTR_API_KEY |
Additional configuration |
Yandex | yandex |
YANDEX_PDD_TOKEN |
Additional configuration |
Zone.ee | zoneee |
ZONEEE_API_USER , ZONEEE_API_KEY |
Additional configuration |
Zonomi | zonomi |
ZONOMI_API_KEY |
Additional configuration |
根据上面的表格找到Provider Code 然后写到上面图片中红色圈住的地方即可。
然后在docker的配置上添加新的环境变量即可:
示例:
Environment Variables栏里面有几个选项,就写几个变量,然后在Value内写入你账号的key认证信息等内容,因为个大运营商的要求不一样,这里我就不都写了。大家自己去找吧。
四、第一次配置访问。
很多人都第一次启动后,不知道怎么进行访问,实际上很简单,我在配置文件内让大家写域名,就是这个道理,在容器启动的时候默认就反响代理了 traefik的管理web页面(虽然啥也没用只能看)
所以大家在启动之后,直接使用域名:端口进行访问!
五、http自动跳转https
这个问题,其实很简单,但是我当时并没有写出来,在这里告诉你们一下怎么更改!
我的traefik配置文件已经直接支持,我们只需要改一下端口号即可,让docker内部的端口号,和外部的端口号一致即可。
修改配置文件:
在静态配置文件内修改下面两个端口号!
找到这两个端口号之后,修改到自定义的端口,比如88,8443这样,修改后保存即可!
之后到unraid的docker页面修改docker的配置模版!增加新的88 8443的端口
示例:
反复增加http https 即可!
增加好以后记得删掉旧的端口,之后我们就可以直接用域名:端口进行访问 traefik会自动跳转到https 这样可以免去总打https的麻烦和端口号!
结尾:
traefik在反向代理上,我个人认为比nginx更好配置,希望我这点小技巧能帮到大家,如果有其他问题可以留言站内信或者qq群内与我联系!
请登录后查看评论内容