- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个在我的机器 (OSX) 上本地运行的 WordPress (WP) 博客。 WP 站点 URL 设置为 https://abc.dev
,我可以在我的机器浏览器上毫无问题地访问该站点。
在视觉上,它看起来像这样:
WP 站点在端口 443 上运行,我使用自签名证书使其正常工作。我从 this website 获得了自签名证书.我已将自签名证书导入 OSX Keychain Access 并将其标记为 Always Trust
。
这是我的 docker-compose.yml 文件的样子:
version: '2'
services:
wordpress:
build: .
ports:
- 8080:80
volumes:
- ./config/php.conf.uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
- ./wp-app:/var/www/html # Full wordpress project
#- ./plugin-name/trunk/:/var/www/html/wp-content/plugins/plugin-name # Plugin development
#- ./theme-name/trunk/:/var/www/html/wp-content/themes/theme-name # Theme development
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: password
depends_on:
- db
networks:
- wordpress-network
db:
image: mysql:latest
ports:
- 127.0.0.1:3306:3306
command: [
'--default_authentication_plugin=mysql_native_password',
'--character-set-server=utf8mb4',
'--collation-server=utf8mb4_unicode_ci'
]
volumes:
- ./wp-data:/docker-entrypoint-initdb.d
environment:
MYSQL_DATABASE: wordpress
MYSQL_ROOT_PASSWORD: password
networks:
- wordpress-network
caddy:
image: abiosoft/caddy
restart: always
ports:
- "80:80"
- "443:443"
links:
- wordpress
volumes:
- "./Caddyfile:/etc/Caddyfile"
- "./caddy:/var/caddy"
networks:
- wordpress-network
networks:
wordpress-network:
driver: bridge
这是 Caddyfile:
abc.dev:443
root /var/www/html
tls /var/caddy/cert.pem /var/caddy/key.pem
proxy / wordpress {
transparent
}
log stdout
errors stderr
树结构是这样的:
├── Caddyfile
├── caddy
│ ├── cert.pem
│ └── key.pem
└── docker-compose.yml
Docker Compose 打开的端口:
$ lsof -PiTCP -sTCP:LISTEN | grep com.dock
com.docke 497 zz 18u IPv4 0xc97e1c7b362c847b 0t0 TCP localhost:3306 (LISTEN)
com.docke 497 zz 23u IPv6 0xc97e1c7b3aa15d0b 0t0 TCP localhost:3306 (LISTEN)
com.docke 497 zz 24u IPv4 0xc97e1c7b50618b83 0t0 TCP *:8080 (LISTEN)
com.docke 497 zz 25u IPv6 0xc97e1c7b3aa1624b 0t0 TCP localhost:8080 (LISTEN)
com.docke 497 zz 27u IPv4 0xc97e1c7b39e63b83 0t0 TCP *:443 (LISTEN)
com.docke 497 zz 28u IPv4 0xc97e1c7b5061b85b 0t0 TCP *:80 (LISTEN)
我在 8080
打开 wordpress
端口的主要原因是因为 Caddy 需要 80
和 443
端口被打开。因此,通过这样做,它帮助我解决了端口冲突问题。
我现在的问题是,我想在我的手机上访问 WP 站点,我希望手机中的 URL 也是 https://abc.dev
。
这几天一直在和Squid胡闹代理和Mitmproxy并没有找到任何运气。
我一般尝试过的一些事情:
reverse
模式upstream
模式上述所有步骤都不适合我,我不知道如何让这个设置对我有用。
我不想将 WP 站点 URL 设置更改为其他 URL,即 http://localhost[:port]
或 https://localhost[:port]
因为它在我的机器上运行良好。
另外,我希望我的设置在外观和行为上与使用相同 URL 结构 https://example.com
运行的生产网站一样接近。
我找到了 CharlesProxy,但我不喜欢它,因为它是付费软件。我确信 Squid、Mitmproxy 和其他一些工具可以帮助我解决这个问题。我只是不确定该怎么做。
非常感谢所有帮助和指点。
最佳答案
首先确保您的问题只是 DNS。您应该能够从手机连接到网站到计算机的 IP http://COMPUTER_IP .如果您无法加载网站,请检查防火墙。
您的本地主机知道 abc.dev
并将其解析为本地主机。
但这对于家庭网络中的其他主机而言并非如此。另一个 Windows/Mac/Linux 只需要在 hosts 文件中添加域条目。在 Linux 中它可能看起来像
/etc/主机
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
COMPUTER_IP abc.dev
但是出于安全原因,对于手机来说,定制 DNS 记录并不容易。
如果您的家庭路由器可以添加静态 DNS 条目。在您的家庭路由器中添加自定义 DNS 条目以将 abc.dev
指向您的计算机家庭网络 IP 地址。
这个不使用abc.dev
,而是使用在线服务提供的东西,例如https://www.noip.com/。您可以注册类似 abc1234.ddns.net
的内容,然后将 COMPUTER_IP 设置为该域的 IP。在 caddy
中,您使用相同的域 abc1234.ddns.net
。
这样你的手机会向 noip
询问 abc1234.ddns.net
的 IP,它会回答你的 COMPUTER_IP 并且浏览器连接到你的计算机。
要尝试此操作,请将这些文件添加到您的 docker-compose 项目中。
dnsmasq/dnsmasq.conf 正在运行配置文件,但您需要更改最后一行:
address=/abc.dev/COMPUTER_IP
输入您计算机的 IP 地址而不是 COMPUTER_IP。
docker-compose.yml
的目录结构:
docker-compose.yml
dnsmasq/dockerfile
dnsmasq/dnsmasq.conf
... other files
你的 docker-compose.yml
version: '2'
services:
wordpress:
...
db:
...
caddy:
...
dnsmasq:
build:
context: .
dockerfile: ./dnsmasq/dockerfile
ports:
- "53:53/udp"
cap_add:
- NET_ADMIN
...
dnsmasq/docker 文件
FROM andyshinn/dnsmasq
COPY dnsmasq/dnsmasq.conf /etc/dnsmasq.conf
CMD ["--log-facility", "-"]
dnsmasq/dnsmasq.conf
# default dnsmasq config file
# Never forward plain names (without a dot or domain part)
domain-needed
# Never forward addresses in the non-routed address spaces.
bogus-priv
# use DNS server 8.8.8.8 for all except abc.dev
# you can use IP of your home router
server=8.8.8.8
no-hosts
expand-hosts
user=dnsmasq
group=dnsmasq
cache-size=2048
neg-ttl=60
log-queries
# put IP address of your computer instead COMPUTER_IP
address=/abc.dev/COMPUTER_IP
有关 dnsmasq 配置的更多信息,请参阅 manpage .
关于wordpress - 如何在手机上使用自定义域和 SSL 访问本地运行的网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52247371/
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 4 年前。 Improv
PowerShell Web Access 允许您通过 Web 浏览器运行 PowerShell cmdlet。它显示了一个基于 Web 的控制台窗口。 有没有办法运行 cmdlet 而无需在控制台窗
我尝试在无需用户登录的情况下访问 Sharepoint 文件。 我可以通过以下任一方式获取访问 token 方法一: var client = new RestClient("https://logi
我目前正在尝试通过 Chrome 扩展程序访问 Google 服务。我的理解是,对于 JS 应用程序,Google 首选的身份验证机制是 OAuth。我的应用目前已成功通过 OAuth 向服务进行身份
假设我有纯抽象类 IHandler 和派生自它的类: class IHandler { public: virtual int process_input(char input) = 0; };
我有一个带有 ThymeLeaf 和 Dojo 的 Spring 应用程序,这给我带来了问题。当我从我的 HTML 文件中引用 CSS 文件时,它们在 Firebug 中显示为中止。但是,当我通过在地
这个问题已经有答案了: JavaScript property access: dot notation vs. brackets? (17 个回答) 已关闭 6 年前。 为什么这不起作用? func
我想将所有流量重定向到 https,只有 robot.txt 应该可以通过 http 访问。 是否可以为 robot.txt 文件创建异常(exception)? 我的 .htaccess 文件: R
我遇到了 LinkedIn OAuth2: "Unable to verify access token" 中描述的相同问题;但是,那里描述的解决方案并不能解决我的问题。 我能够成功请求访问 toke
问题 我有一个暴露给 *:8080 的 Docker 服务容器. 我无法通过 localhost:8080 访问容器. Chrome /curl无限期挂断。 但是如果我使用任何其他本地IP,我就可以访
我正在使用 Google 的 Oauth 2.0 来获取用户的 access_token,但我不知道如何将它与 imaplib 一起使用来访问收件箱。 最佳答案 下面是带有 oauth 2.0 的 I
我正在做 docker 入门指南:https://docs.docker.com/get-started/part3/#recap-and-cheat-sheet-optional docker-co
我正在尝试使用静态 IP 在 AKS 上创建一个 Web 应用程序,自然找到了一个带有 Nginx ingress controller in Azure's documentation 的解决方案。
这是我在名为 foo.js 的文件中的代码。 console.log('module.exports:', module.exports) console.log('module.id:', modu
我试图理解访问键。我读过https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-se
我正在使用 MGTwitterEngine"将 twitter 集成到我的应用程序中。它在 iOS 4.2 上运行良好。当我尝试从任何 iOS 5 设备访问 twitter 时,我遇到了身份验证 to
我试图理解访问键。我读过https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-se
我正在使用以下 API 列出我的 Facebook 好友。 https://graph.facebook.com/me/friends?access_token= ??? 我想知道访问 token 过
401 Unauthorized - Show headers - { "error": { "errors": [ { "domain": "global", "reas
我已经将我的 django 应用程序部署到 heroku 并使用 Amazon s3 存储桶存储静态文件,我发现从 s3 存储桶到 heroku 获取数据没有问题。但是,当我测试查看内容存储位置时,除
我是一名优秀的程序员,十分优秀!