У меня есть блог WordPress (WP), работающий локально на моей машине (OSX). Настройка URL-адреса сайта WP установлена на https://abc.dev
, и я могу без проблем обращаться к сайту в браузере моей машины.
Визуально это выглядит так:
![enter image description here](https://i.stack.imgur.com/hMemm.png)
Сайт WP работает через порт 443, и я использую самоподписанный сертификат, чтобы он работал. Я получил самоподписанный сертификат от этого сайта . Я импортировал самоподписанный сертификат в OSX Keychain Access и отметил его Always Trust
.
Вот так выглядит мой docker-compose.yml файл для этого WP:
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)
Основная причина, по которой я открываю порт wordpress
на 8080
, заключалась в том, что Caddy хотел, чтобы порты 80
и 443
были открыты. Таким образом, это помогло мне решить проблему конфликтов портов.
Моя проблема сейчас, я хочу получить доступ к сайту WP на моем телефоне, и я хочу, чтобы URL был также https://abc.dev
в телефоне.
Последние несколько дней я возился с Squid прокси и Mitmproxy и не нашел удачи.
Некоторые вещи, которые я пробовал в общем:
- Настройка прокси с использованием SquidMan
- Настройка работы Mitmproxy * Режим 1050 *
- Настройка работы Mitmproxy
upstream
mode
- Установка и доверие Сертификат Mitmproxy в моем телефоне
- Настройка виртуальной машины Ubuntu 18 Server поверх моей машины (OSX) с использованием VirtualBox, установка Mitmproxy, запуск Mitmproxy, настройка хоста (OSX) и телефона для использования этого сервера Ubuntu 18 в качестве прокси
Все описанные выше шаги не сработали для меня, и я не знаю, как заставить эту настройку работать на меня.
Я не хочу менять настройку URL-адреса сайта WP на другой URL, т. Е. http://localhost[:port]
или https://localhost[:port]
, потому что он отлично работает на моем компьютере.
Плюс, я хочу, чтобы мои настройки выглядели и вели себя так же, как и мой производственный веб-сайт, который работает с той же структурой URL, https://example.com
.
Я нашел CharlesProxy, но мне это не нравится, потому что это платное программное обеспечение. Я уверен, что Squid, Mitmproxy и некоторые другие инструменты могут помочь мне в этом. Я просто не уверен, как это сделать.
Действительно признателен за любую помощь и указатели.