検索条件
お知らせ
現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
前のページ
1
2
3
次のページ
Akamai EAAからAkamai ゼロトラスト・クライアントに移行したらVPNと疎通できなくなったので、その対処をしたときのログ。
WSL2の中から名前解決はできるがcurlやpingを叩いても疎通しない。Windows側では疎通する状態。
Windows 11 Pro 23H2
WSL 2.4.13.0
WSLの中はUbuntu 22.04
Akamai ゼロトラスト・クライアントを利用している
/etc/wsl.conf
[interop]
appendWindowsPath = false
%HOMEPATH%\.wslconfig
[experimental]
networkingMode=mirrored
firewall=true
Windows側とWSL2側それぞれでpingを飛ばし、Wiresharkでパケットを観測したとき、Ethernet IIのSrcとDstのMACアドレスがWindows側は共に同値だが、WSL2側は共に異なり、いずれもWindows側の値と一致しない
%HOMEPATH%\.wslconfig
のnetworkingMode
をmirrored
からNAT
に変える。
[experimental]
networkingMode=NAT
firewall=true
基本はこのコマンドを流せば行けるはず
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
sudo do-release-upgrade
sudo do-release-upgrade
の実行時に-d
オプションを外す
自動起動していない場合、PowerShellなどからWSLを殺せば解決する
コケてるリポジトリを消せばよい。以下は一例
ls -la /etc/apt/sources.list.d
sudo rm -Rf /etc/apt/sources.list.d/grafana.list*
無視してよい
WSLのUbuntuにRedmineを建ててnginxを通して適当なバーチャルホストでアクセスするまで
Env
Ver
Ubuntu
20.04.6
Ruby
2.7.0
Redmine
5.1.0
nginx
1.18.0
基本は公式の通り
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
wget https://www.redmine.org/releases/redmine-5.1.0.zip
unzip redmine-5.1.0.zip
cd redmine-5.1.0
cp config/database.yml.example config/database.yml
# DB接続は公式ドキュメントに沿って適当に設定する
# nano config/database.yml
sudo apt install -y ruby-full make gcc libmysqlclient-dev
sudo gem install bundler
bundle config set --local without 'development test'
sudo bundle install
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
bundle exec rails server -e production -p 9999 -d
普通にリバプロするだけ
server {
listen 80;
client_max_body_size 100m;
server_name redmine.test;
access_log /var/log/nginx/redmine.access.log;
error_log /var/log/nginx/redmine.error.log;
location / {
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:9999;
}
}
makeとgccがない
sudo apt install -y make gcc
MySQLの開発ライブラリがない
sudo apt install -y libmysqlclient-dev
無視してよい
以下のように-p
で指定
bundle exec rails server -e production -p 9999 -d
以下のように-d
で指定。殺すときはpkill ruby
で行ける
bundle exec rails server -e production -p 9999 -d
不明。少なくとも以下の形式だと上手く動かない。
wsl -d Ubuntu -u root -- <command>
systemdを有効化すると色々不具合があるのでinit.dで起動できれば解決できる気はするのだが、上手くいかなかった。
Web開発をしていると取り敢えずHTTPリクエストが取れる雑なモックサーバーが欲しくなることがあるので、その作り方。
Env
Ver
OS
Windows 11 Pro
WSL2
-
Distoribution
Ubuntu 20.04.4 LTS
PHP
8.0.29
nginx
1.18.0
Windows側の hosts
に 127.0.0.1 mock-server.test
を追加
/etc/nginx/conf.d
に以下の設定ファイルを置く
server {
listen 80;
client_max_body_size 100m;
server_name mock-server.test;
access_log /var/log/nginx/mock-server.access.log;
error_log /var/log/nginx/mock-server.error.log;
location ~ ^/.*$ {
rewrite ^/.*$ / break;
# リクエストパスの確認用
proxy_set_header X-Request-Path $request_uri;
proxy_pass http://127.0.0.1:8888;
}
}
sudo service nginx restart
モックサーバーのコードを書いて適当な場所に置く
<?php
$server_json = json_encode($_SERVER);
file_put_contents('log', "$server_json\n", FILE_APPEND);
php -S localhost:8888
http://localhost:8888/hoge
にアクセスしログファイルに追記されることを確認
おわり
$_SERVER
の中身をフィルタしたい時
<?php
$ignoreKeys = [
'DOCUMENT_ROOT',
'REMOTE_ADDR',
'REMOTE_PORT',
'SERVER_SOFTWARE',
'SERVER_PROTOCOL',
'SERVER_NAME',
'SERVER_PORT',
'REQUEST_URI',
'SCRIPT_NAME',
'SCRIPT_FILENAME',
'PHP_SELF',
'HTTP_HOST',
'HTTP_CONNECTION',
'HTTP_UPGRADE_INSECURE_REQUESTS',
'HTTP_USER_AGENT',
'HTTP_ACCEPT',
'HTTP_ACCEPT_ENCODING',
'HTTP_ACCEPT_LANGUAGE',
'HTTP_CACHE_CONTROL',
'REQUEST_TIME_FLOAT',
'REQUEST_TIME'
];
$buff = array_filter($_SERVER, function($key) use($ignoreKeys) {
return !in_array($key, $ignoreKeys);
}, ARRAY_FILTER_USE_KEY);
$server_json = json_encode($buff);
file_put_contents('log', "$server_json\n", FILE_APPEND);
数分前まで普通に動いていたWSLのUbuntu 20.04.4 LTSをターミナルで開くと以下のエラーが表示された
Error: 0x80040326
Error code: Wsl/Service/0x80040326
Press any key to continue...
https://github.com/microsoft/WSL/issues/9867
原因はわからないがWSLをupdateすると解決するという内容
前のページ
1
2
3
次のページ